Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "profiling"
-
So there it fucking goes.
Hi. I'm WillibertXXIV.
I'm not a programmer by trade; I have a more than fulltime job as a cook. As for the last year, I spent pretty much all my free time, overlapping my sleep time, to learn how to code.
All that so I can create a game that I started working on the same day I started my learning process. So far it's shit and it's going to stay that way for a long time. Only I can say this. It's my baby. It's fucking ugly and shit but it's mine.
Yesterday I broke it. I broke my baby. I don't know how it fucking happe. When I went to sleep I had a steady 175fps, nice realtime lightning and player / enemy that flowed like running water. I worked really hard to make that happened. Profiling, writing better code, profiling, etc. It's still not good, it's less shit.
I woke up, beautiful day. Not too warm, not too cold, that sweet spot right in the middle. Girlfriend already made the coffee. Perfect. Woke up, sat down to start my morning time work before going to my realjob and
BAM
Everything is shit, 20fps max. That one thing, gfx.waitforpresent, showing up in the profiler eating everything as the game run. Movements are now of stroboscopic nature. Light is still ok but what good does it do now fucking piece of shit. I'm not qualified enough for this shit.
Fuck,
Fuck this,
Fuck this shit,
Fuck this shit i'm out of here.26 -
!rant
Our lead dev in the company seems to be a smart guy who's sensitive about code quality and best practices. The current project I'm working on (I'm an intern) has really bad code quality but it's too big an application with a very important client so there's no scope of completely changing it. Today, he asked me to optimize some parts of the code and I happily sat down to do it. After a few hours of searching, profiling and debugging, I asked him about a particular recurring database query that seemed to be uneccesarilly strewn across the code.
Me: "I think it's copy pasted code from somewhere else. It's not very well done".
Lead Dev: "Yeah, the code may not the be really beautiful. It was done hurriedly by this certain inexperienced intern we had a few years back".
Me: "Oh, haha. That's bad".
Lead Dev: "Yeah, you know him. Have you heard of this guy called *mentions his own name with a grin*?"
Me: ...
Lead Dev: "Yeah, I didn't know much then. The code's bad. Optimize it however you like. Just test it properly"
Me: respect++;2 -
The worst boss and human being so far, still wondering how he keeps the company afloat. This was my first longterm developer job almost a decade ago and I was a student at that time. The application was an outlook plug in for a document management system.
Scene 1:
Boss: The processing is too slow. Make it faster.
Me: After analysis and profiling I can prove that the core (developed in VB6 by a physicist and autoconverted to VB.NET) is the bottleneck.
Boss: I don't care. Make it faster and don't touch the core.
Scene 2:
Boss: I want the app to behave in that way.
Me: This is not what we specified previously. Look here. Nonetheless, I would have to rewrite half of the plugin. Mind that it is an outlook plug in and we are restricted by outlook. If you want that, it would take XX days and we do not have enough time until release.
Boss: I don't care. Do it. And the deadline stays as it is.
Boss 2 weeks later: I don't like it.
Scene 3:
Me: To release in time I need more resources. I need at least one tester and another developer would be a huge plus. Also, I need a second PC for testing.
Boss: No.
2 weeks later:
Boss: why does it not work properly in outlook 2010? Didn't you test it?
Me: I could not. I have only outlook 2007. I asked for more resources and did not get them.
Boss: it's your fault. Bad work.
Scene 4:
*Me having failed multiple exams, stress at work, started to drink*
Boss: Don't you like working here?
Me: ...
Finale:
*Me getting written sick with severe depression*
Boss: fires me.
Me: Loses flat. Quits uni. Unemployed for 6 Months, one rejection after another (boss was phoned, that's sure). Moving back to parents. Sues boss. Gets money.
I still hate him and wish him the most painful experiences in life. Such people belong behind bars. But the justice isn't always served. One has to move forward and improve himself.3 -
Rant!
Been working on 'MVP' features of a new product for the past 14 months. Customer has no f**king clue on how to design for performance. An uncomfortable amount of faith was placed on the ORM (ORMs are not bad as long as you know what you are doing) and the magic that the current framework provides. (Again, magic is good so long as you understand what happens behind the smoke and mirrors - but f**k all that... coz hey, productivity, right?). Customer was so focussed on features that no one ever thought of giving any attention to subtler things like 'hey, my transaction is doing a gazillion joins across trizillion tables while making a million calls to the db - maybe I should put more f**king thought into my design.' We foresaw performance and concurrency issues and raised them way ahead of the release. How did the customer respond? By hiring a performance tester. Fair enough - but what did that translate into? Nothing. Nada. Zilch. Hiring a perf tester doesn't automagically fix issues. The perf tester did not have a stable environment, a stable build or anything that is required to do a test with meaningful results. As the release date approached, the customer launched a pilot and things started failing spectacularly with the system not able to support more than 15 concurrent users. WTF! (My 'I told you so' moment) Emails started flying in all directions and the hunt for the scapegoat was on (I'm a sucker for CYA so I was covered). People started pointing in all directions but no one bothered to take a step back and understand what was causing the issues. Numero uno reason for transaction failure was deadlocks. We were using a proprietary DB with kickass tooling. No one bothered to use the tooling to understand what was the resource in contention let alone how to fix the contention. Absolute panic - its like they just froze. Debugging shit and doing the same thing again and again just so that management knew they were upto something. Most of the indexes had a fragmentation of 99.8% - I shit you not. Anywho, we now have a 'war room' where the perf tester needs to script the entire project by tonight and come up with some numbers that will amount to nothing while we stay up and keep profiling the shit out of the application under load.
Lessons learnt - When you foresee a problem make a LOT of noise to get people to act upon it and not wait till it comes back and bites you in the ass. Better yet, try not to get into a team where people can't understand the implications of shitty design choices. War room my ass!3 -
By all means I've learned most of the cool stuff with a lil project me and my bro did. It was a platform for bot farm of one mmorpg. It had it all: schedules, profiles, bot groups, monitoring, analytical module [was still a wip], auto-profiling to fight antibot [sort of ML - it was analyzing patterns after our bots got banned and attempted to change our bots behaviour], etc.
Eventualy we came up to conclusion that a library we used for botting [the mocked interaction with an actor] was flawed. It seemed that its authors had a contract or smth with the game authors to reveal which actors are bots. We dropped the whole thing as rewriting the lib would be too big of a waste of time :\7 -
This is what happened today in our dayli:
Lead: We need to profile our software
Me: You can use the chrome devtools as remote profiler, even on prod, or make HAR files for later inspection.
Lead: Yeah but no that’s just collecting data on every tick, we need something like “has been called x times”
Me: Yeah but you can filt -
Lead: Yeah no, so back when I wrote code in Delphi...
Me: *oh god no not this again*
Lead: ... We could have clicked a button in our IDE and it would wrap the function call with the API call to profile that function ...
Me, to the secret dev group in slack: doesn’t a simple method decorator and node performance api help with that?
The people in the group: We had this topic last Friday all day...
Me: oh well *get’s coffee and ignores lead*3 -
Finished writing a microservice in NodeJS. Wrote tests, had clever optimisations, did profiling, the works. Lead dev says to me on a Friday evening to port my code to Java in 2 days. (Reason: to standardize everything) #FML3
-
Just had one of those days.... totally learned A LOT about how to properly profile a Linux box using Brendan Gregg's( Netflix ) USE method. Only problem is... I didn't make any actual progress on my application project itself. 😩😩😩😭😭😭3
-
This will be my last project ever with WordPress. Seems like they added a site "customizer" (wysiwyg) which looks fancy and all, but after a few minutes configuring options the customizer starts lagging, fan starts getting louder, CPU & RAM go up so I do some profiling on that page:
Full layout repaints on every mousemove event, mem usage starts at 125MB and goes up up up to even 200MB while staying idle.. wtf? How did this even get shipped?2 -
For whatever ungodly reason my containers library, which has extensive testing, profiling, and benchmarks against other containers libraries receives regular emails directed towards me about it, always one of two things
1) "don't reinvent the wheel" I have to assume these people haven't looked at the performance characteristics or features at all. I didn't waste away weeks of my life. I needed something and couldn't find it anywhere. I'm outperforming many crap implementations by nearly an order of magnitude, and can offer queries upon the containers in both generalized and specialized forms. As an analogy, I made airless 3d printed wheels, and people are regularly telling me I should still be using ancient wooden spoke wheels; they probably would argue in favor of using a horse drawn carriage as well. How is it possible technically minded people can also be so anti-progress?
2) "Please rewrite this in X language." You know what? YOU rewrite it. I chose what I did because it made it easy to do what I needed to do. Hilariously, the languages I get asked to use most often, are the same who's containers libraries perform worst in the benchmarks.
Both sound like half baked developers trying to sound superior. Pull your head out of your ass and actually outperform me and others. I'm so fucking sick of this "all talk no action" bullshit.5 -
>Discovers a new low level profiling tool that could help us at work with stuck process debugging and gets all hyped
>Installs on test machine, tool doesn't work
>Wonders why. Oh. Needs a kernel module to work, compiled and loaded
>"Well, its my test machine... Guess that's no problem..." but... my hype died down a bit. Kernel module installation just for a new tool that aggregates all other commonly used tools? eh... Maybe it will blow me out of my shoes still
>Installs and loads the module
>Tool works. Turns out its just a htop-like tool, with shortcuts to launch specific other profiling tools like strace/ltrace/lsof/netstat/ss etc...
"Oh... That's boring. Maybe it has all those tools built in at least?"
>Tries to run ltrace - tool exits as ltrace is not installed
Lol
>Installs ltrace and launches tool again. Tries to ltrace a process and
>Nothing. Nothing happens. For seconds... Then kicks me off of SSH
WTF?
>Tries to ping machine... silence
Did... our net go down again? (Having issues due to a storm going over our area these few days)
>Pings google and... gets instant reply
More wtf
>Pings the hypervisor the machine was running on
Works like normal
Oh... Oh no. Please tell me it didn't!
>Logs into the hypervisor UI, checks machine state
Running OK
>Opens machine console aaaaand... Yep. Stacktrace as well as a lot of kernel mumbo-jumbo... It took the machine down to kernel panic.
I never went so quick from "We need this tool deployed everywhere" to "Omg I need to get rid of this crap as soon as possible" lol.
And just for those wondering, it was sysdig.1 -
FredBoat, largest open source discord bot.
Making all the things work + making it scale when demand kept climbing was a challenge where we had to learn simple stuff like postgres, working with 3rd party apis, generally good coding patterns and maintainable code, but also rather advanced stuff like making the garbage collector play nice, profiling memory leaks and optimizing the hot path, as well as high level topics like cutting the codebase into scalable domains and services. -
I need to performance monitor our web app. I have been working on some speed improvments since some of our customers have complained. My boss wants me to be able to produce stats which he can use (and abuse) to highlight to customers that we have got quicker. I am currently looking at blackfire for PHP profiling to help with speeding things up but I need a top site overview for everything. Our stack is PHP (no framework), JS (jquery + vanilla), MySQL on Windows mainly. On premise solutions would be good since we don't traditionally run in the Cloud. Our system isn't SaaS and is installed on dedicated data centre servers or on premise3
-
for my job I need to know,
Programming, C#, Optimization, Multithreading and Async code, Working certain tools, Reading difficult written code, Understanding, Physics, Networking, Rendering, Codeloops, Memory management, Profiling tools, Being able to make Jira tickets and read Jira tickets. Understanding source control branching, merging, push and pull. bug fixing.
And I write almost 1 line of code a week on average..
I'm a programmer.2 -
1) Had to fix severe bugs in a dynamic UI (configuration-driven forms) component.
Recognized undocumented Copy/Paste/Modify/FuckUp driven variations of the same component all over the project. Unsurprisingly, the implementations covered 99% of the antipattern catalog on wiki.c2.com and could compete with brainfuck in regard to human-readable code.
Escalated the issue, proposed a redesign using a new approach, got it approved.
Designed, Implemented, tested and verified the new shared and generic component. Integrated into the main product in the experimental branch. Presented to tech lead/management. Everyone was happy and my solution opened even more possibilities.
Now the WTF moment: the product with the updated dynamic UI solution never has been completely tested by a QA engineer despite my multiple requests and reminders.
It never got merged into baseline.
New initiatives to fix the dynamic UI issues have been made by other developers. Basically looking up my implementation. Removing parts they do not understand and wondering why the data validation does not work. And of course taking the credit.
2) back in 2013, boss wanted me to optimize batch processing performance in the product I developed. Profiling proved that the bottleneck ist not my code, but the "core" I had to use and which I must never ever touch. Reported back to him. He said he does not care and the processing has to get faster. And I must not touch the "core".
(FYI: the "core" was auto-generated from VB6 to VB.Net. Stored in SourceSafe. Unmaintainable, distributed about a bunch of 5000+ LoC files, eye-cancer inducing singlethreaded something, which had naive raw database queries causing the low performance.) -
Urgh.. the amount of things you have to know as a developer.. it can get stressful and frustrating sometimes when (in-depth) technology knowledge is demanded from you (for instance, for a job position)..
It's like being a doctor, being a lifelong student.
A few examples of what I had to know during my career:
Java, .NET, Python, PHP, JavaScript/HTML5/CSS3, Sass/Less, Node.js, ReactJS, AngularJS, Vue.js, Cordova, Ionic, Android, design patterns, SOLID, databases (design, implementation, administration, both NoSQL and relational,..), deployment tools (Octopus, Jenkins,..), VCS, CI/CD, HTTP, networking, security (OAuth2, CORS, XSS, CSRF,..), algebra, algorithms, software testing, profiling, Linux, Unix, Windows, MS Office (advanced mail filtering,..), ITIL, IT Law (licensing and its implications when choosing a product, distribution right,..), server architecture,..
Sure yeah, I know, I've studied all that at university but.. it's been too long (almost a decade now). I have to revisit that knowledge.5 -
I'm an engineering student in my final year now.. and there is something that I felt I missed learning throughout the course of 4 years.
How many of you believe that there is a need for non technical courses like UI/UX designing to be a part of curriculum ?
I conducted a workshop recently on UI/UX design but was surprised how majority of them were just clueless about design in general.
Atleast for all the Indian ranters here .. im pretty sure all of you would agree how pointless the first year is. Utilising it for something as trivial as basic user profiling and designing .. according to me makes sense..
What say ? Any other subjects you feel should be a course in your University ? ( Now my knowledge spans to colleges here in India , Lett me know if it's any different outside of here ) 🙂5 -
According to a report from VentureBeat: Verizon Media has launched a "privacy-focused" search engine called OneSearch and promises that there will be no cookie tracking, no ad personalization, no profiling, no data-storing and no data-sharing with advertisers.
By default, Advanced Privacy Mode is activated. You can manually toggle this mode to the "off" but you won't have access to privacy features such as search-term encryption. In the OneSearch privacy policy, Verizon says it it will store a user's IP address, search query and user agent on different servers so that it can not draw correlations between a user's specific location and the query that they have made. "Verizon said that it will monetize its new search engine through advertising but the advertising won't be based on browsing history or data that personally identifies the individual, it will only serve contextual advertisements based on each individual search," reports VentureBeat.
https://www.onesearch.com/5 -
When I moved to another company there was Android app, with 5K lines of HTTP Service class, with apache legacy library, with maven and tons of garbage.
now, it has gradle, multiple build types, flavors, multiple source sets, RxJava, Java 8, ButterKnife, modular dependency, I always do profiling and APK analyze and tons of essential and cool features.
Project started last year but what the heck?
Dude, I will find you,and I will kill you! -
Long story...
I'm a junior-ish dev (worked 3 year part time in a small company)
I've been assigned the happy task of doing some performance profiling on our windows application to see where we can work to make the app run smoother.
Visual studio profiler keeps crashing when generating the report when I do CPU sampling.
I'm a very unhappy Dev right now.1 -
I was recently reading about memory leaks and profiling and found a really excellent article for people new to c# or best practices. It's a great article and well worth the read if you're still learning.
https://michaelscodingspot.com/find...6 -
Completely fed up today, trying to investigate a memory leak using google chromes profiling tools, first of all all the "documentation" is well out of date so you have to pretty much guess your way through it.
Anyway i start to investigate and it looks like the JS Heap increases in size only after a garbage collection, surely this is the wrong way round or am i just being stupid2 -
I read one article about an asteroid causing destruction 10+ years ago and now Google seems to think that I need to know about all the 180 million asteroids orbiting in the asteroid belt. And fill my news feed with facts about each one of them, and which ones could potentially wipe out life from Earth.
I hate this kind of profiling these companies do.3 -
{
-i won't follow logging practices
-i won't follow secure coding
-i won't leverage profiling n monitoring tools
-i won't reuse best practices
-i won't listen to thought leaders
-i will outsource writing UT
-i will outsource code quality checks
-i will outsource all testing
-i will ignore n overide CTO team
But I still want high stability, security n 4 9s availability. Just want it done. My team is best. Am a fast-track leadership program leader who never has or ever needs to cod. I just know ...
}
People I have to deal with every sprint. Site reliability is not easy ...
Teaching good code makes great products to morons, toughest ...
"Beginners mind needed"2 -
Hi Everyone,
I am working as a jr front end developer and wanted to study more about performance profiling in Chrome and finding memory leaks using Dev tools. I searched online for a while and not able to find a nice place to start with, can anyone help me out with a resource from where I can start the debugging performance using Chrome Dev tools.
It would be very helpful. -
What C++ profiling tools out there are free and compatible for Windows and Visual Studio? I’m doing an internship and I’m tasked to do performance optimization, but nobody here has done it and while I did google stuff, everything seems to be for Linux only. Are there any handson resources you’d suggest for someone who’s learning performance in c ++?4