5 ms·
I swear. What happened here? Like why do things feel sluggish than software over 20 years ago? I just can't wrap my mind around it. We have SSDs and infinite CP
by ilrwbwrkhv 5y ago
I swear. What happened here? Like why do things feel sluggish than software over 20 years ago? I just can't wrap my mind around it. We have SSDs and infinite CPU and RAM now compared to those days, yet there is always this feeling the computer is doing something more than I asked for behind the scenes. Even on websites, you can feel when you click on a link, it is doing something more. It's a very uncomfortable feeling.
- buildbot 5y agoIt really is bad. Somehow I brought an 8 core desktop to its knees because a combination of heavy disk+network IO and using pycharm caused windows to just stop servicing pycharm at all, until I stopped the download. I had free memory, disk, and cpu time, I think interrupt processing was stalled or filled? But the hardware was idle.
- naikrovek 5y ago> What happened here? three things, I think: 1) people saying (and believing) that CPU, RAM, and disk are fast enough and cheap enough to be effectively infinite, and no longer worthy of concern. put another way: developers feeling that their target platforms are no longer constrained. 2) many software developers simply stopped caring about performance and began implementing all kinds of things extremely naively. new developers do this continually for many years early in their careers. 3) JavaScript. the places this language is used today, where it should never, ever be used. excruciatingly slow language. and JavaScript is EVERYWHERE, even on extremely constrained platforms, doing work, when almost any other language would have been a better choice.
- qudat 5y ago> 3) JavaScript. the places this language is used today, where it should never, ever be used. excruciatingly slow language. [citation needed] Slow, fast are relative terms. What are you comparing it against?
- methyl 5y agoJavascript is one of the fastest dynamically typed languages. People use it instead of other languages because the productivity of dynamically typed languages is generally higher. I’d be interested in hearing what are those other languages that would be faster to run and not slower to program in.
- eloisius 5y ago"Not slower to program in" is a cost savings to the business, but let's be honest about that being what it is. It's a cost savings for the business that results in a crummier product for customers. Just like trimming a single tomato from the salad on in-flight meals is a cost savings to Delta. Doesn't mean it's a "better" salad.
- methyl 5y agoIt's a question of having it or not at all. Poor salad is better than no salad.
- eloisius 5y agoAs far as I can tell, it's a question of having or not having whizbang bloated apps like Slack, but we had perfectly acceptable word processors, spreadsheets, 3D modeling tools, etc a long time ago. The current gen, JS-powered versions of those tools (Google Drive, Quip, Notion) all feel slower. Sure, there are fewer BSODs now so it probably evens out, but the extremely low latency UX of those tools back in the Windows 2000/XP days is lost.
- whywhywhywhy 5y agoYet Figma blows Illustrator and Sketch out of the water. A lot it’s really just down to developer talent and how much they care about it. Examples exist in the world proving it’s possible. Illustrator is slow for the same reasons, no one working on it cares about what they’re building. But still it would need 10x speed improvements in multiple areas to beat Figma now.
- bodge5000 5y ago> many software developers simply stopped caring about performance... Little "conspiracy" theory here if you can call it that, and not one that a lot of people will agree with I imagine, but I sometimes think this was caused by the mass adoption of "premature optimisation is the root of all evil". The problem is, for a lot of devs, quite possibly myself included, its either premature or an afterthought. With mass adoption of that phrase, it becomes an afterthought. For me, for better or worse, I can't get out of it. It doesn't mean I never write inefficient software, especially in my day job I come into conflict with that, but its always the first thing in my mind. Maybe I'm way off base there and just trying to justify bad habits, but I can't say it feels bad to me.
- MaulingMonkey 5y agoPremature optimization is time spent not optimizing things that actually matter. In my own circles, it's the accusation legitimately levied against the clowns who simultaniously write macros instead of functions out of fears that the compiler could theoretically ignore a __forceinline keyword - or if you're lucky, optimizing some microbenchmark while pessimizing overall program performance - and in the next breath writing O(scary) code that'll be invoked with large enough N to demolish any savings from micro-optimizations. That is, despite optimizing, these are people who, despite an obsession with performance, are still treating the performance of their overall programs as an afterthought. Because they don't actually care about performance as much as they say: they care about showing off and flexing their coding skills by making a mess. Well, the phrase itself doesn't help guide these people towards real performance engineering, but they're typically stubborn enough to ignore the phrase, and must instead be goaded into using a profiler or generating benchmarks, which can then be picked apart when they optimize away the actual execution of everything at compile time, teaching by way of concrete example at least a little bit about generating better microbenchmarks, which they can use to show off and flex more effectively instead.
- liveoneggs 5y ago> are still treating the performance of their overall programs as an afterthought Because that is harder to test
- Cthulhu_ 5y agoI don't believe software developers stopped caring about performance per se myself. There's a tradeoff between performance and productivity being made. If you can build a cross-platform app in a JS / React Native app at half the time it would take to make two native apps (+ maintenance over years), a lot will quickly opt for productivity, because a working and launched app always beats a fast app. usually. Personally I'm of the opinion that companies should just spend the money and build native apps, accepting that feature parity may be lagging between one or the other app, but that's me. Anyway the other issue is that developers will be working on faster machines (on average) than end users, so they won't feel or notice the perf issues so much. And they get used to it really fast.
- tonyedgecombe 5y agoI suspect that once you decide to build a quality app the difference in development costs disappear. VSCode is what people put forward as an example of a good Electron app but that has required a huge amount of work to be just about good enough.
- andai 5y agoRe: powerful dev machines "hiding" poor performance For this reason I hold the belief that software should be developed for (if not on) 10 year old machines. Thanks to this thread I might update that mark to 20 or 30 ;) That might sound absurd, but whatever you're making, there was probably something similar already there a few decades ago, ran fine on the hardware of the day, the binary was 100x smaller, it used hundreds of times less RAM... so that it can be done is evidenced by the fact that thousands of people have done it already! Now of course, modern CPU features, advanced use of the GPU and using more RAM can make things much faster. Such optimizations are fine, to be sure, but non-pessimization needs to come first! (Of course there's also many strong arguments to be made for actually supporting older and weaker hardware, mainly it's needlessly wasteful not to, and people will actually be able to use your software if you do!)
- jedberg 5y agoYou just don't remember 20 years ago. The modern OSs at the time were sluggish too, as they were pushing the limits of their hardware. Your computer today would be pretty quick if it only did what your computer of 20 years ago did and in only 1024x768. OSs today do a lot more than 20 years ago at about the same speed as 20 years ago. Now, we can debate if all the extras are necessary, but that seems like a different debate than speed.
- eloisius 5y agoI think that’s what GP was saying. It feels like everything is doing way more behind the scenes, and it feels sluggish. I almost can’t type anything long in Slack because the key input latency is so awful. What is it doing? Firing off a cascade of JS event hooks that pre-query reaction gifs, fetching away status for every user I might have mentioned, or what? Slack is obviously a pathological example, but it illustrates what’s feeling more and more common in modern GUI applications.
- markdog12 5y agohttps://twitter.com/programmer_just/status/1253098759266893827 https://twitter.com/programmer_just/status/12530987592668938...
- whywhywhywhy 5y ago>What is it doing? Firing off a cascade of JS event hooks that pre-query reaction gifs, fetching away status for every user I might have mentioned, or what? Probably not sluggish for any of that, just that some incompetent dev didn’t want to deal with the built in input control or the inconsistency between OSes so they rolled their own and coded it badly. Number of times I’ve had to deal with devs doing things like deciding we must create a custom color picker only for them to code it and it glitches if you drag your mouse off the edge of the color wheel. Or coding their own text controls that break OS spellcheck or autocomplete and have input delay for some reason. Just isn’t that much talent about up to the task of building inputs yet all the low talents rush to roll their own for the smallest reasons.
- deleted 5y ago[deleted]
- tentacleuno 5y ago> Even on websites, you can feel when you click on a link, it is doing something more. It's a very uncomfortable feeling. I know what you mean! Some websites make link clicks take a little longer. I'm not sure if it's due to tracking...
- flomo 5y ago> Even on websites, you can feel when you click on a link, it is doing something more It is, analytics hooks which require network round trips. Otherwise disagree and this is false memories and/or very superficial observation of "snappiness".
- edwcross 5y agoWe transitioned from a "high-trust society" (where software, Internet, etc, did not need to take into account so many security considerations, protect itself from enemies everywhere) into a "low-trust society" (encryption everywhere, hardware mitigations for Spectre-kind attacks, Javascript-based tracking, etc). The overhead is similar to the one people face in third-world countries: you pay once for the government (taxes), then again for basic services (private education, private security, private health, private transportation), and you still end up in a worse situation than in a (high-trust) first-world country. I tried using a Core 2 Duo laptop recently, but the simple fact that HTTPS is mandatory nowadays, and Core 2 doesn't have AES-NI, makes the laptop spin its fan much more than it should, even if I try to use an old Linux/Windows.
- deleted 5y ago[deleted]
- skocznymroczny 5y agoMost apps connect to the internet for 'updates' 'content synchronization'. Every time you open a new tab in your app there's some spinning wheel you have to wait for.