frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Fast machines, slow machines (2023)

https://jmmv.dev/2023/06/fast-machines-slow-machines.html
54•amatheus•2d ago

Comments

sshine•4h ago
Back then, programmers had to care about performance. The field of programming was less accessible, so the average skills to reach the barrier to entry were higher. So people were, on average, better programmers. The commercial incentives of today to reach market with something half-assed and then never fix it don’t help.

In 2002 I ran OpenBSD on my laptop (thus sacrificing wifi). The memory footprint of running X11, a browser, a terminal, and an editor: 28MB

graemep•3h ago
Browsers are the big problem. Security and compatibility push upgrades to the latest, very heavy, ones.
maccard•3h ago
There was plenty of software that ran like absolute garbage “back then” but OS’s didn’t.
coolcase•4h ago
Are mobile devices slow/unresponsive. I haven't experienced that unless I realllllly cheap out. Or after 4 years of OS updates on Apple devices for some reason. Androids seem OK in this regard.
maccard•3h ago
I switched from android back to iOS last year. There seems to be some sort of inherent latency in either android or Samsung’s UI that causes the UI thread to lag behind your inputs by a noticeable amount, and for the UI thread to block app actions in many cases.

Things like summoning a keyboard causing my 120hz galaxy phone to drop to sub 10fps playing the intro animation for GBoard were just rampant. All non existent in iOS

nottorp•1h ago
But but ... Samsung has bigger numbers in the spec sheet! It must be faster!
jebarker•1h ago
I have a top end Pixel phone running stock Android and encounter latency all the time. All first start time is usually a couple of seconds. Switching back to an open app is fast in many cases but some still have to do a refresh (which I suspect involves communication to servers, although that's still not much of an excuse).
seritools•3h ago
> Notepad had been a native app until very recently, and it still opened pretty much instantaneously. With its rewrite as a UWP app, things went downhill. The before and after are apparent, and yet… the app continues to be as unfeatureful as it had always been. This is extra slowness for no user benefit.

We now have HUGE (/s) advancements in Notepad, like tabs and uh... Copilot

chromehearts•1h ago
Don't forget dark mode!
M95D•1h ago
I remember Windows 3.1 where I could change not only the color of the buttons, but the color of the light and shadow edge.
jonathanlydall•3h ago
I’ve recently noticed this on an especially well used app I have on my iPhone 14 with a stupid animation which regularly annoys me.

Google Authenticator’s filter box, when you tap it there is a very noticeable delay after tapping the filter box and the keyboard showing.

And what makes it worse is that if you switch away from the app, it auto clears the filter.

This isn’t a complex app and it’s slow at doing a use case easily performed millions of times a day.

maccard•3h ago
The author mentions rewriting core applications in C# on windows but I don’t think this is the problem. Write a simple hello world app in c#, compile it and see how long it takes to run vs a rust app or a python script - it’s almost native. Unity is locked to a horrifically ancient version of mono and still manages to do a lot of work in a small period of time. (If we start talking JavaScript or python on the other hand…)

I agree with him though. I recently had a machine that I upgraded from Win10 to Win11 and it was like someone kneecapped it. I don’t know if it’s modern app frameworks, or the OS, but something has gone horribly wrong on macOS and windows (iOS doesn’t suffer from this as much for whatever reason IME)

My gut instinct is an adjustment to everything being asynchronous, combined with development on 0 latency networks in isolated environments means that when you compound “wait for windows defender to scan, wait for the local telemetry service to respond, incrementally async load 500 icon or text files and have them run through all the same slowness” with frameworks that introduce latency, context switching, and are thin wrappers that spend most of our time FFI’ing things to native languages, and then deploy them in non perfect conditions you get the mess we’re in now.

lelanthran•2h ago
> incrementally async load 500 icon or text files and have them run through all the same slowness”

This really shouldn't be slower when done asynchronously compared to synchronously. I would expect, actually, that it would be faster (all available cores get used).

CelestialMystic•1h ago
It depends how the application is written in C#. A lot of Modern C# relies on IoC frameworks. These do some reflection shenanigans and this has a performance impact.
nottorp•1h ago
> Unity is locked to a horrifically ancient version of mono and still manages to do a lot of work in a small period of time

Unity is the great battery killer!

The last example I remember is that I could play the first xcom remake (which had a native mac version) on battery for 3-4 hours, while I was lucky to get 2 hours for $random_unity_based_indie with less graphics.

anself•2h ago
Too much developers relying on bloatware, not enough “implement it yourself” because in reality every hash map doves a unique problem that a Palin hash map is not necessarily suited for. Embrace NIH
maeln•2h ago
More than CPU speed, I think the increase in storage and RAM is to blame for the slow decay in latency. When you have only a few Kb/Mb of RAM and storage, you can't really afford to add much more to the software than what is the core feature. Your binary need to be small, which lead to faster loading in RAM, and do less, which means less things to run before the actual program.

When size is not an issue, it's harder to say no when the business demand for a telemetry system, an auto-update system, a crash handler with automatic report, and a bunch of features, a lot of which needs to be initialized at the start of the program, introducing significant latency at startup.

RetroTechie•17m ago
It's also complexity - added more than necessary, and @ a faster pace than hardware can keep up with.

Take font rendering: in early machines, fonts were small bitmaps (often 8x8 pixels, 1 bit/pixel), hardcoded in ROM. As screen resolutions grew (and varied between devices), OSes stored fonts in different sizes. Later: scalable fonts, chosen from a selection of styles / font families, rendered to sub-pixel accuracy, sub-pixel configuration adjustable to match hw construction of the display panel.

Yeah this is very flexible & can produce good looking fonts (if set up correctly). Which scale nicely when zooming in or out.

But it also makes rendering each single character a lot more complex. And thus eats a lot more cpu, RAM & storage than 8x8 fixed size, 1bpp font.

Or the must-insert-network-request-everywhere bs. No, I don't need search engine to start searching & provide suggestions after I've typed 1 character & didn't hit "search" yet.

There are many examples like the above, I won't elaborate.

Some of that complexity is necessary. Some of it isn't, but lightweight & very useful. But much of it is just a pile of unneeded crap of dubious usefulness (if any).

Imho, software development really should return to 1st principles. Start with a minimum viable product, that only has the absolute necessary functionality relevant to end-users. Don't even bother to include anything other than the absolute minimum. Optimise the heck out of that, and presto: v1.0 is done. Go from there.

drob518•2h ago
Startup time has always been a bit of a sketchy metric as modern OSs and languages do a lot of processing on application launch. Some scan for viruses. On Macs you have checks for x86 vs Apple silicon and loading of Rosetta if required. Managed runtime environments have various JITs that get invoked. And apps are now huge webs of dependencies, so lots of dynamically linked code being loaded. A better metric is their performance once everything is in memory. That said, I still think we’re doing poorly at that metric as well. As resources have ballooned over the last decade, we’ve become lazy and we just don’t care about writing tight code.
kreco•1h ago
Why not both?

The applications are launched at startup time because they have runtime startup slowness. The applications have startup slowness because of the JIT runtime/deps/.dll.

At the end of the day, end users pay for the cost of developer convenience (JIT and deps most of the time, even thought there are some case where dynamic linking is alright) because they don't do native apps.

Offloading everything at startup is a symptom IMO.

Replying to your specific point about virus scans. For some (naive) reason, I expect them to run a single time against a binary app that is never changed. So in theory it shouldn't even be a problem, but the reality says otherwise.

vanschelven•2h ago
Similarly (linked in a footnote): http://danluu.com/input-lag/
jmmv•1h ago
Original author here! Thanks for (re)sharing. We previously discussed this at length in https://news.ycombinator.com/item?id=36503983.

I think this article has "aged well" in the sense that... nothing has changed for the better :( Since I wrote it, I did upgrade my machine: I now have a 24-core 13th Gen i7 laptop with a fast NVMe drive and... well, Windows 11 is _still_ visibly laggy throughout. Comparing it to KDE on the same machine is like night and day in terms of general desktop snappiness (and yes, KDE has its own bloat too, but it seems to have evolved in a more "manageable" manner).

I've also gotten an M2 laptop for work since then, and same issue there: I remember how transformative the M1 felt at launch with everything being extremely quick in macOS, but the signs of bloat are _already_ showing up. Upgrading anything takes ages because every app is a monster that weighs hundreds of MBs, and reopening apps after a reboot is painfully slow. Still, though, macOS feels generally better than Windows on modern hardware.

About the article itself, I'll say that there was a complaint back then (and I see it now here too) about my blaming of .NET rewrites being misplaced. Yes, I'll concede that; I was too quick to write that, and likely wrong. But don't let that distract yourself from the rest of the article. Modern Notepad is inexplicably slower than older Notepad, and for what reason? (I honestly don't know and haven't researched it.)

And finally, I'll leave you with this other article that I wrote as a follow-up to that one, with a list of things that I feel developers just don't think about when writing software, and that inevitably leads to the issues we see industry-wide: https://jmmv.dev/2023/09/performance-is-not-big-o.html

pjdesno•1h ago
My take on it - performance decays when engineering management doesn’t prioritize it.

Modern example: Laptops boot in seconds. My servers take about 5 minutes to get to Linux boot, with long stretches of time taken by various subsystems, while Coreboot (designed to be fast) boots them nearly as quickly as a laptop.

Old example: early in my career we were developing a telecom system with a 5 min per year (5 9s) downtime target. The prototype took 30 minutes to boot, and engineers didn’t care because management hadn’t told them to make it boot faster. It drove me nuts. (a moot point, as it eventually got cancelled and we all got laid off)

yobbo•1h ago
I suspect (in a common pattern) the main thing that blocks making performance a priority is that it equates to reordering various ranks among developers and product managers.

When performance supersedes "more features", developers are gatekeepers and manager initiatives can be re-examined. The "solution" is to make performance a non-priority and paint complainers as stale and out-of-fashion.

smilliken•55m ago
Or you can have technical managers that understand what they are managing.
jebarker•1h ago
So is there any hope for improvement?

Personally I've decided to just vote with my feet and avoid using poor performing software as much as possibl, but that's frequently impractical or not worth the cost of missing out. I also doubt this will change the behaviors of companies as we see with, for example, TV advertising that they give no shits about degrading the consumer experience over the long term.

There doesn't seem much hope on the technical side either as software complexity is only increasing.aybe longer term AI has a role to play in auto-optimization?

A Tiny Boltzmann Machine

https://eoinmurray.info/boltzmann-machine
91•anomancer•1h ago•10 comments

Show HN: Min.js style compression of tech docs for LLM context

https://github.com/marv1nnnnn/llm-min.txt
58•marv1nnnnn•1h ago•13 comments

Malicious compliance by booking an available meeting room

https://www.clientserver.dev/p/malicious-compliance-by-booking-an
104•jakevoytko•2h ago•102 comments

Show HN: Real-Time Gaussian Splatting

https://github.com/axbycc/LiveSplat
54•markisus•2h ago•31 comments

Wavelet Trees: An Introduction (2011)

https://www.alexbowe.com/wavelet-trees/
5•Tomte•9m ago•0 comments

Lua for Elixir

https://davelucia.com/blog/lua-elixir
80•davydog187•2d ago•15 comments

Human

https://quarter--mile.com/Human
553•surprisetalk•12h ago•215 comments

Internet Artifacts

https://neal.fun/internet-artifacts/
468•mikerg87•2d ago•88 comments

Pathfinding

https://juhrjuhr.itch.io/deep-space-exploitation/devlog/945428/9-pathfinding
33•sebg•3h ago•7 comments

A Rust API Inspired by Python, Powered by Serde

https://ohadravid.github.io/posts/2025-05-serde-reflect/
23•lukastyrychtr•3d ago•5 comments

AlphaEvolve: A Gemini-powered coding agent for designing advanced algorithms

https://deepmind.google/discover/blog/alphaevolve-a-gemini-powered-coding-agent-for-designing-advanced-algorithms/
919•Fysi•1d ago•242 comments

PermitFlow (YC W22) Is Hiring Senior/Staff Engineers in NYC

https://jobs.ashbyhq.com/permitflow?departmentId=d33195eb-8978-4439-abc6-5a8a072de808
1•samuelklam•3h ago

California sent residents' personal health data to LinkedIn

https://themarkup.org/pixel-hunt/2025/04/28/how-california-sent-residents-personal-health-data-to-linkedin
39•anticorporate•1h ago•12 comments

Working on complex systems: What I learned working at Google

https://www.thecoder.cafe/p/complex-systems
153•0xKelsey•2d ago•81 comments

Fast machines, slow machines (2023)

https://jmmv.dev/2023/06/fast-machines-slow-machines.html
54•amatheus•2d ago•26 comments

Python lib generates its code on-the-fly based on usage

https://github.com/cofob/autogenlib
202•klntsky•3d ago•74 comments

What is HDR, anyway?

https://www.lux.camera/what-is-hdr/
710•_kush•1d ago•304 comments

My Engineering Craft Regressed

https://lemmy.ml/post/30100312
63•OsrsNeedsf2P•2h ago•25 comments

They Were Identical 'Twinnies' Who Charmed Orwell, Camus and More

https://www.nytimes.com/2025/05/04/books/review/the-dazzling-paget-sisters-ariane-bankes.html
3•lermontov•3d ago•0 comments

Forget IPs: using cryptography to verify bot and agent traffic

https://blog.cloudflare.com/web-bot-auth/
38•todsacerdoti•2h ago•13 comments

How we made billing backendless

https://useautumn.com/blog/backendless
16•ayushrodrigues•1h ago•29 comments

LLMs get lost in multi-turn conversation

https://arxiv.org/abs/2505.06120
313•simonpure•13h ago•193 comments

Show HN: Muscle-Mem, a behavior cache for AI agents

https://github.com/pig-dot-dev/muscle-mem
198•edunteman•19h ago•43 comments

Changes since congestion pricing started in New York

https://www.nytimes.com/interactive/2025/05/11/upshot/congestion-pricing.html
363•Vinnl•2d ago•515 comments

Git Bug: Distributed, Offline-First Bug Tracker Embedded in Git, with Bridges

https://github.com/git-bug/git-bug
269•stefankuehnel•2d ago•84 comments

A server that wasn't meant to exist

https://it-notes.dragas.net/2025/05/13/the_server_that_wasnt_meant_to_exist/
372•jaypatelani•23h ago•116 comments

Show HN: Semantic Calculator (king-man+woman=?)

https://calc.datova.ai
153•nxa•19h ago•160 comments

Lightweight open source reCaptcha alternative

https://github.com/altcha-org/altcha
80•michalpleban•2d ago•53 comments

In the US, a rotating detonation rocket engine takes flight

https://arstechnica.com/space/2025/05/venus-aerospace-flies-its-rotating-detonation-rocket-engine-for-the-first-time/
49•LorenDB•4h ago•29 comments

Databricks acquires Neon

https://www.databricks.com/blog/databricks-neon
358•davidgomes•1d ago•212 comments