![]() I would tend to disagree on this, specially when claims come from the gamedev world. > He does have a narrow view, but it does not make his claims invalid. It is now the incumbent, but no longer is as fast as it once was, but it also ships functionality catering to many niche needs Step 4: Thousands of PRs later, the project is usable by most people and has "won". Step 3: Users start discovering limitations for their use cases, issues and pull requests pour in Step 2: The project becomes popular on its merits, rakes in stars on Github as people discover how awesome it is Step 1: Developer is fed up by how slow/bloated current incumbent is, so they write a fast, lean and mean project that solves their problems ![]() ![]() Large tech companies are not immune to it, resulting in frequent component rewrites, deprecations and almost-drop-in replacements that shuffle complexity up or down the stack. This is perhaps the third time I've posted this on HN, but what you describe is the circle of life for widely-used software projects. > The same thing is happening at bigger companies, at some point productivity start to matter and off the shelf solutions start to fail Just write code in a way you find clean/maintainable/readable, and when you have perf issues, profile them and ship the appropriate fix. This article is probably meaningful for people who work on databases, games, OSes, etc., but for most devs/apps these tips will yield zero noticeable performance improvements. But it’s been rare in the work I’ve done. For example, when working on vehicle routing problems, they’re super computationally heavy, need to be optimized like crazy and the hot spots can indeed involve pretty low level optimizations. With that being said, I have worked on the odd performance optimization where we had to get quite low level. Programmer doing something dumb, like using an array when they should be using a set (and then doing a huge number of membership checks) Excessive serialization/deserialization (things like ORMs that create massive in memory objects) Lack of caching/memoization for some expensive thing that could be cached on higher level applications, and the perf bottlenecks have never been any of the things discussed in this article. 100%, I’ve done tonnes of (backend) performance optimization, profiling, etc.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |