| ▲ | Almondsetat 4 days ago |
| Yeah no, I'd like non-performance critical programs to focus on other things than performance thank you |
|
| ▲ | Sesse__ 4 days ago | parent | next [-] |
| Hard disagree. I'd like word processors to not need ten seconds just to start up. I'd like chat clients not to use _seconds_ to echo my message back to me. I'd like news pages that don't empty my mobile data cap just by existing. All of these are “non-performance critical”, but I'd _love_ for them to focus on performance. |
| |
| ▲ | brookst 4 days ago | parent | next [-] | | So you’re a PM for a word processor. You have a giant backlog. Users want to load and edit PDFs. Finnish has been rendering right to left for months, but the easy fix will break Hebrew. The engineers say a new rendering engine is critical or these things will just get worse. Sales team says they’re blocked on a significant contract because the version tracking system allows unaudited “clear history” operations. Reddit is going berserk because the icon you used (and paid for!) for the new “illuminated text mode” turns out to be stolen from a Lithuanian sports team. Knowing that most of your users only start the app when their OS forces a reboot… just how much priority does startup time get? | | |
| ▲ | jntun 4 days ago | parent | next [-] | | This is an incredibly convoluted hypothetical trying to negate the idea that users notice and/or appreciate how quickly their applications start. Usually as a PM you are managing multiple engineers, one of which I would assume is capable of debugging and eventually implementing a fix for faster start times. Even if they can't fix it immediately due to whatever contrived reason you've supposed, at least they will know where and how to fix it when the time does come. In fact, I would argue pretending there is no issue because of your mountain of other problems is the worst possible scenario to be in. | |
| ▲ | hugo1789 3 days ago | parent | prev | next [-] | | I don't think that fits MS Office. The situation is more that you have a working, usable word processor which has all the festures your user needs. Since many years ago. But your UI designer thinks it can be a little more beautiful but much slower. Of course you give that way too much priority. On my Laptop where I am forced by my company to run windows, I run word 2010 and it runs far better(speed and stability) that the newest word I have to use ob my office pc. | |
| ▲ | windward 3 days ago | parent | prev [-] | | Many of the important decisions are made at design and review time. When that team adds PDF support, they should act unlike the Explorer team and avoid unnecessary O(n^2) algorithms. Part of getting this to happen is setting the right culture and incentives. PM is such a nebulous term that I can't say this definitively, but I don't think the responsibility for this lies with them. Some poor performance is simply tech debt and should be tackled in the same way. $WORD_PROCESSOR employees should be capable of this: we've all seen how they interview. |
| |
| ▲ | ronsor 4 days ago | parent | prev | next [-] | | > I'd like news pages that don't empty my mobile data cap just by existing. To be fair, this is because they mostly care about serving ads. Without the ads, the pages are often fine. | | |
| ▲ | godelski 4 days ago | parent | next [-] | | Many things are slow because few programmers (or managers) care. Because they'll argue about "value" but all those notions of value are made up anyways. People argue "sure, it's not optimal, but it's good enough". But that compounds. A little slower each time. A little slower each application. You test on your VM only running your program. But all of this forgets what makes software so powerful AND profitable: scale. Since we always need to talk monetary value, let's do that. Shaving off a second isn't much if it's one person or one time but even with a thousand users that's over 15 minutes, per usage. I mean we're talking about a world where American Airlines talks about saving $40k/yr by removing an olive and we don't want to provide that same, or more(!), value to our customers? Let's say your employee costs $100k/yr and they use that program once a day. That's 260 seconds or just under 5 minutes. Nothing, right? A measly $4. But say you have a million users. Now that's $4 million! Now, play a fun game with me. Just go about your day as normal but pay attention to all those little speedbumps. Count them as $1m/s and let me know what you got. We're being pretty conservative here as your employee costs a lot more than their salary (2-3x) and we're ignoring slowdown being disruptive and breaking flow. But I'm willing to bet in a typical day you'll get on the order of hundreds of millions ($100m is <2 minutes). We solve big problems by breaking them into a bunch of smaller problems, so don't forget that those small problems add up. It's true even if you don't know what big problem you're solving. | |
| ▲ | Sesse__ 4 days ago | parent | prev | next [-] | | I have uBO, they're still obscenely large. | |
| ▲ | phalanx104 4 days ago | parent | prev [-] | | untrue. what bloats the modern web is the widespread AND suboptimal use of web frameworks. otherwise, making adblockers would dramatically speed up the loading of every website that uses ads, while it is true to some extent, is not the entire picture. anyways, i'm not saying that these libraries are always slow, but the users aren't aware of the performance characteristics and perf habits they should use while making use of such libraries. do you have any idea how many tens of layers of abstractions a "website" takes to reach your screen? | | |
| ▲ | fkyoureadthedoc 4 days ago | parent [-] | | untrue. what makes bloats the modern web is competing incentives and businesses choosing what they think is going to make them the most money. |
|
| |
| ▲ | godelski 4 days ago | parent | prev | next [-] | | When I was in school I had a laundry app (forced to use) that took 8 seconds to load, mostly while it scanned the network for the machines. It also had the rooms out of order in the room listing and no caching so every time you wanted to check the status (assuming it even worked) it took no less than a minute. It usually took less time to physically check, which also had a 100% accuracy. Fuck this "we don't need to optimize" bullshit. Fuck this "minimum viable product" bullshit. It's just a race to the bottom. No one paper cut is the cause of death, but all of them are when you have a thousand. | | |
| ▲ | andrekandre 2 days ago | parent [-] | | > No one paper cut is the cause of death, but all of them are when you have a thousand.
this is a common failure mode of projects unfortunately, and its precisely because paper-cuts have low signal-to-noise ratio that they are hardly worked on...ironically, sometimes its the reactions to big issues that cause paper-cuts to flourish (aka red-tape, incident mitigation, rushing to deadlines, "temporary" bug fixes piling up etc etc) | | |
| ▲ | godelski 2 days ago | parent [-] | | I don't think it was papercuts. The company also had their API leaked and it made the news. 6 months later and it wasn't fixed and people were doing their laundry for free... |
|
| |
| ▲ | Capricorn2481 4 days ago | parent | prev [-] | | > None of these are “non-performance critical”, but I'd _love_ for them to focus on performance Then you agree with the poster. Performance critical software should focus on performance. |
|
|
| ▲ | lo_zamoyski 4 days ago | parent | prev | next [-] |
| Indeed. All else remaining the same, a faster program is generally more desirable than a slower program, but we don't live in generalities where all else remains the same and we simply need to choose fast over slow. Fast often costs more to produce. Programming is a small piece of a larger context. What makes a program "good" is not a property of the program itself, but measured by external ends and constraints. This is true of all technology. Some of these constraints are resources, and one of these resources is time. In fact, the very same limitation on time that motivates the prioritization of development effort toward some features other than performance is the very same limitation that motivates the desire for performance in the first place. Performance must be understood globally. Let's say we need a result in three days, and it takes two days to write a program that takes one day to get the result, but a week to write a program that takes a second to produce a result, then obviously, it is better to write the program the first way. In a week's time, your fast program will no longer be needed! The value of the result will have expired. This is effectively a matter of opportunity cost. |
| |
| ▲ | godelski 4 days ago | parent [-] | | There's nothing more permanent than a temporary fix that works. |
|
|
| ▲ | not_your_vase 4 days ago | parent | prev | next [-] |
| This mentality brings you a loading screen when you start the calculator on windows. |
| |
| ▲ | adolph 4 days ago | parent | next [-] | | echo ${calculation} into bc works as fast as your fingers | |
| ▲ | fkyoureadthedoc 4 days ago | parent | prev [-] | | What? Calculator starts up faster than I can figure out on where and on which screen it decided to open | | |
| ▲ | dwringer 4 days ago | parent | next [-] | | On this machine it took me about 8 seconds to get the start menu open, about 5 seconds to get it to recognize that I'd typed "calc", another 5 seconds for it to let me actually select it to launch, and then about 20 seconds from the calculator window appearing - in its empty loading state - for it to actually come up. I admit this computer is several years old - but ... it's... a calculator. | |
| ▲ | kiwijamo 3 days ago | parent | prev [-] | | On Windows 11 I can see a startup screen briefly before it loads the calculator buttons -- takes maybe 2 seconds all up -- seems to be 1 seconds to start up screen then another second to populate the buttons. But can understand why people feel it's a regression though as I reall the win95/98/me calc.exe would pretty much appear near instantly even on the CPU/RAM/etc of the day. | | |
| ▲ | fkyoureadthedoc 2 days ago | parent | next [-] | | It's probably very hardware dependent now, just like it was back then. My calculator opens to interactive in much less than 1 second, but I've got a 9800x3d and fast memory and nvme drive. The other guy saying his start menu takes 8 seconds to open probably has a pretty shit computer. I definitely got the stupid hourglass in win 95 when trying to open anything, but my understanding of computers at the time was that black ones were faster than beige ones, so my computer was probably shit. I tried to look up calculator win 95 vids on YouTube, there are a couple. One gets an hourglass - but less than a second, one is instant, one shows the calculator crashing lol. During this I also found out that Microsoft Calculator is open source: https://github.com/microsoft/calculator | |
| ▲ | robinsonb5 3 days ago | parent | prev [-] | | I'm currently on a Windows 10 machine with Core i5 that's more than a decade old. The calculator takes a couple of seconds to start up - provided it's a "good" day (i.e. one when Windows isn't downloading updates or doing search indexing or malware scanning in the background.) But I also have a Core 2 Duo-based WinXP machine in easy reach (just to keep a legacy software environment alive) and its keyboard has a dedicated calculator button. The calculator is just there the moment I press that button - it's appeared long before I can even release the button. |
|
|
|
|
| ▲ | EliRivers 4 days ago | parent | prev | next [-] |
| Surely all programs are performance critical. Any program we think isn't is just a program where the performance met the criteria already. |
| |
| ▲ | 6SixTy 4 days ago | parent [-] | | Safety critical systems say hello. | | |
| ▲ | pjc50 3 days ago | parent | next [-] | | Safety critical is of course also performance critical to an even greater extent than games. You can usually get away with a dropped frame but you can't miss, say, valve timings. | |
| ▲ | oguz-ismail 4 days ago | parent | prev [-] | | > Safety critical systems Any concrete examples where we can see the code? | | |
| ▲ | 6SixTy 4 days ago | parent [-] | | sqlite is probably our best example. The project touts use within Airbus A350 and DO-178B certification. |
|
|
|
|
| ▲ | 4 days ago | parent | prev | next [-] |
| [deleted] |
|
| ▲ | const_cast 3 days ago | parent | prev [-] |
| The fallacy here is that if we focus on performance we could, instead, be using that time to make the application better. The reality is that non-performant apps aren't non-performant because they're doing so many cool things. No, that compute is wasted. The digital equivalent of pushing a box up a hill then back down 1000 times. I mean, the types of performance issues I've seen is like: grab 100,000 records from the database, throw away 99,900, return 100 to the front end. Optimizing that saves orders of magnitude of time but the thing does the same thing. Like we're just being wasteful and stupid. Those records we throw away aren't being used for some super cool AI powered feature. Its just waste. |