7 ms·
Modern programs are 100 times slower, but they definitely aren't 100 times more functional. And speed is a part of functionality and UX! I don't want to have
by antepodius 6y ago
Modern programs are 100 times slower, but they definitely aren't 100 times more functional. And speed is a part of functionality and UX! I don't want to have to use a high-powered workstation or a gaming laptop to get reasonable responsiveness in my text editor. Many Javascript-powered websites with 'fancy' canvas features are janky and slow as shit on hardware that's only 10 years old, where as websites that use HTML are still snappy and fast.
That 'nothing at all' matters when our current culture involves building layers and layers and mountains of stacks on top of software. That 30 ms compounds, because everyone working on each layer thinks 'hey, this is a bit slow, but it doesn't matter because it's only milliseconds.' Given this, it's obvious that modern software will be as slow and inefficient as it possibly can be before normal people notice and complain (usually only because they've used other equivalent software that's smoother and faster- it's easy to get used to jank, like low FPS in a video game.)
I think that people undervalue the cost of all these layers of abstraction.
- PragmaticPulp 6y ago> Modern programs are 100 times slower, but they definitely aren't 100 times more functional. My IntelliJ IDE is easily 100 times more functional than early text editors. As for slower: Any relative comparisons are still missing the point. It’s not a relative question. It’s an absolute question: Is this fast enough? Let’s be honest, none of us are sitting around waiting for our complex IDEs to render characters on the screen. No one really cares if it’s 1ms or 30ms or even 200ms. Likewise, I don’t care if it takes 100ms or 10s to open the IDE because I’m not quitting it and re-launching it all day. I launch it, leave it open, and that’s that. People like to glorify the good old days when apps were supposedly faster to launch, but they forget the convenience of simply leaving apps open with our oodles of RAM and letting our computers rely on suspend/wake. The longest delays in my workflow are getting my laptop out of the bag and typing in the password, or maybe downloading things from the internet. Terminal latency or app launch time just don’t even register on the list of delays during my day.
- Retric 6y agoAre you talking pre 1980’s as early? Because IntelliJ vs EMACS is hardly a 100x improvement.
- formerly_proven 6y ago> Let’s be honest, none of us are sitting around waiting for our complex IDEs to render characters on the screen. No one really cares if it’s 1ms or 30ms or even 200ms. I actually do, because I'd like for IntelliSense and clones to save me some typing, but often that doesn't quite work out, because they're too slow (inconsistently slow, too). I'd also like it if my IDE or Word editor could highlight errors in realtime, but in reality it's more like a couple seconds delayed, so I have to navigate a significant distance back to correct them, instead of being able to fix it almost on the spot.
- PragmaticPulp 6y agoThat’s a different topic, thought. The OP posted about typing latency, not the latency of additional complex features. It’s not exactly fair to claim that software is “slower” than old software when the software you’re comparing to doesn’t have those features at all.
- justin66 6y agoUI latency is UI latency, and the problem in both cases is due to what markstos mentioned in his initial comment: the increasing internal complexity of the software stack used to develop the software. It's not like modern hardware isn't fast enough to do literally everything that needs to be done locally with minimal UI latency.
- 6510 6y agoI'm guessing 1000x
- justin66 6y ago> Let’s be honest, none of us are sitting around waiting for our complex IDEs to render characters on the screen. No one really cares if it’s 1ms or 30ms or even 200ms. Waiting longer for a character to render to the screen than it takes to send an IP packet to a different continent and receive a reply may make you happy for some reason, but UI research indicates most people will react negatively to this. It's worse than that. With something like Visual Studio, for example, we are sitting around waiting for local variables to update in the debugger's watch window, if we're experienced enough to know that we need to do that. This kind of thing is a genuine user interface bug: if a person doesn't realize what a slow, awful piece of software they're dealing with, they'll step step step past a variable update in the debugger, never see it happen on their screen because that only works when you pause and give the watch window time to catch up, and assume it's their program that has the problem. People can get acclimated to dealing with very slow software, but they shouldn't have to when all the hardware performance to make it better already exists.
- aardvark291 6y ago> No one really cares if it’s 1ms or 30ms or even 200ms. You would definitely care about 200ms latency.
- markstos 6y agoTyping at 100 wpm is a character about every 120 ms. A 200 ms delay would be interoperable and a 30 ms delay would be a 25% penalty to see the characters appear.
- 6510 6y agoStella Pajunas 1946 record of 216 wpm (54,000 strokes per hour, 900 per min, 15 per second, 66 ms) is on average. She must have typed considerably faster some of the time. Anything over 40 ms is probably noticeable. https://www.pond5.com/stock-footage/item/75268195-miss-stella-pajunas-worlds-fast-typist-types-ibm-electric-ty https://www.pond5.com/stock-footage/item/75268195-miss-stell... Most wouldn't get near 1/3 of that but when the professionals say your shit doesn't work it does mean something. Trying to increase your speed using a system that cant keep up adds unacceptable annoyance. I hereby coin the Pajunas rule at 40 ms.
- llukas 6y ago> Let’s be honest, none of us are sitting around waiting for our complex IDEs to render characters on the screen. No one really cares if it’s 1ms or 30ms or even 200ms. You seem to never worked on ssh connection around the world. Typing faster than your text appears on the screen is annoying.
- wolco 6y agoOr played with a 300 baud modem
- xaedes 6y agoIf you don't care, that is fine. But please don't spoil it for the ones caring. Don't argue against it if you don't care
- 6510 6y agoStop picking on the slow guy
- marcosdumay 6y ago> Let’s be honest, none of us are sitting around waiting for our complex IDEs to render characters onLet’s be honest, none of us are sitting around waiting for our complex IDEs to render characters on the screen. the screen. I see you are not much into modern IDEs. Visual Studio used to be a great perpetrator here. The 2017 version doesn't do it much, but I'm not rolling the dice on the 2019 one as far as I can avoid. I do sit around waiting for Atom to interpret my keystrokes all the time, but it's never much more than a couple of second. Oracle's SQL Developer is another one that can't keep-up with the keyboard. It's also not as slow as Visual Studio, but it does break a flow. And it loses characters when it's blocked.
- lowercased 6y ago> Let’s be honest, none of us are sitting around waiting for our complex IDEs to render characters on the screen. No one really cares if it’s 1ms or 30ms or even 200ms. I do regularly on my 2019 MBP - I 'only' have the basic SSD and 'only' 16 gigs of memory. Usually Jetbrains stuff, but things freeze up/pause on VSCode and Eclipse as well too. I'll then be told "oh, must be your hardware", but this is a "feature" I've noticed of... not just JVM software, but probably MacOS in general - sporadic system pauses. SSD makes it more bearable, certainly, but it's not "this" hardware - I've had probably 8 different mac systems since 2008, and they all do this. But... in the 15+ years of Windows and Linux systems before that, similar issues. I see it on other peoples' systems too, but they seem to be able to bite their tongue, or genuinely don't notice (or don't care?)
- mlyle 6y agoI can definitely feel the difference getting my terminal echoes over 40ms of latency and feel impeded. Not ridiculously impeded, but...
- adrianN 6y agoThe OOM killer regularly kills IntelliJ on my 16GB RAM Macbook pro when I have the audacity to leave it open while I try to compile something else. That really sucks, so I use vim whenever I'm familiar enough with the code to not need very intelligent autocompletion.
- flukus 6y ago> My IntelliJ IDE is easily 100 times more functional than early text editors. Maybe more than text editors, but I doubt it's even twice as functional as eclipse circa 2005. As slow and bloated as it was for it's time it had all the modern features and ran on machines with (I think) 128MB of RAM.
- 2OEH8eoCRo0 6y agoThe market decides how much latency is acceptable. Computers are made to do work, not stroke some purist programmer ego. Computers and the software they run today enables us to do far more than we used to. If they didn't we wouldn't bother.
- csande17 6y ago> Computers and the software they run today enables us to do far more than we used to. This is true in the broadest sense -- certainly calc.exe is better than an abacus! -- but I'm not sure it's true on the 10-to-20-year timescale people are usually thinking about when they say software is declining. I use exactly zero features of my computer that were not available in Windows Vista, released in 2006.
- 8organicbits 6y agoLook at Thunderbird since 2006 to see how the product has grown. Sure, we all used "email" in 2006, but email clients were terrible. * 2007 - message tagging https://website-archive.mozilla.org/www.mozilla.org/thunderbird_releasenotes/en-us/thunderbird/2.0.0.0/releasenotes/ https://website-archive.mozilla.org/www.mozilla.org/thunderb... * 2009 - search result filtering https://website-archive.mozilla.org/www.mozilla.org/thunderbird_releasenotes/en-us/thunderbird/3.0/releasenotes/ https://website-archive.mozilla.org/www.mozilla.org/thunderb... * 2010 - mail account setup wizard https://website-archive.mozilla.org/www.mozilla.org/thunderbird_releasenotes/en-us/thunderbird/3.1/releasenotes/ https://website-archive.mozilla.org/www.mozilla.org/thunderb... * 2012(ish?) Support to send large attachments via 3rd party, I.E. box.com https://website-archive.mozilla.org/www.mozilla.org/thunderbird_releasenotes/en-us/thunderbird/16.0/releasenotes/ https://website-archive.mozilla.org/www.mozilla.org/thunderb... * 2013 - ignore threads https://website-archive.mozilla.org/www.mozilla.org/thunderbird_releasenotes/en-us/thunderbird/24.0/releasenotes/ https://website-archive.mozilla.org/www.mozilla.org/thunderb... * 2014 - attachment reminders https://www.thunderbird.net/en-US/thunderbird/31.0/releasenotes/ https://www.thunderbird.net/en-US/thunderbird/31.0/releaseno... * 2016 - subject line spell check https://www.thunderbird.net/en-US/thunderbird/45.0/releasenotes/ https://www.thunderbird.net/en-US/thunderbird/45.0/releaseno... * 2018 - message templates https://www.thunderbird.net/en-US/thunderbird/60.0/releasenotes/ https://www.thunderbird.net/en-US/thunderbird/60.0/releaseno... * 2019 - mark all folders for account read https://www.thunderbird.net/en-US/thunderbird/68.0/releasenotes/ https://www.thunderbird.net/en-US/thunderbird/68.0/releaseno...
- 8organicbits 6y agoI think users have a performance budget and once you are inside that budget, there are rapidly diminishing returns for faster speed. > it's obvious that modern software will be as slow and inefficient as it possibly can be before normal people notice and complain Thats sort of circular. If people don't complain there's probably better places to spend engineering effort. Besides, the slower speed is traded off for something: a safer abstraction, faster development, features the users are requesting, better security, etc. I think some of us on HN have higher expectations for software performance than "normal" users, so we are the first to complain (or use alternate, faster software).
- Narishma 6y agoThat's because "normal" users don't know any better. They don't know what their hardware is capable of, so they don't know that their software is slow, so they don't complain about it. If they do they usually blame hardware.
- userbinator 6y agoUnfortunately, from some of the other comments in this discussion, it seems a lot of developers don't know any better either --- they've never seen what real "fast" is, so they think the amount of latency they experience is normal.
- edeion 6y agoI sympathize to your comment... But at the same time I'm likely to be in the crowd of the unknowings. Could you suggest examples or a way to get an idea how fast computers can be. I've recently been amazed when cracking an old cryptanalysis puzzle at what Python can do in very little time. But I have no idea what a responsive OS feels like on a general standpoint. Should I try to compile Firefox on Windows 3.1? (Just kidding on this last one, obviously.)
- boring_twenties 6y agoRight. Normal users think things like, "my computer is slow, it must be getting old, time to buy a new one."
- wyattpeak 6y ago> Modern programs are 100 times slower, but they definitely aren't 100 times more functional. I don't know if this matters. My terminal is fast enough that I've never thought about its latency. If my computer doubled in speed, I'd be happy for all of that to go to a 10% increase in terminal functionality, because otherwise it's getting wasted speeding up a task I can't tell is taking any time at all.
- tuatoru 6y agoFine, your computer can render textual characters quickly enough for you. OK. People do other things with computers. Draw. Make music. Edit music and video. Play twitch games. Get them to understand and respond to speech. The extra layers of abstraction--specifically, the latency caused by the layers--really hurts these activities. Saying that today's computers are better than those of the 1980s is very weak tea. They weren't good enough then, and they're still not good enough now.
- kranner 6y ago> People do other things with computers. Draw. Make music. Edit music and video. Play twitch games. Get them to understand and respond to speech. But these compute-intensive tasks are more often than not implemented in lower-level, highly optimised code like BLAS, CUDA, etc. I think your overall point is valid though -- I'm looking at the Gmail tab in Chrome -- but maybe not for these particular examples.
- adrianN 6y agoIf your software doubled in speed you could use a processors that needed only a fraction of the power your current processor needs. Computers consume on the order of 1% of all global energy.
- blackrock 6y agoIs the browser able to render all that JavaScript code in parallel on multi-core CPUs?