Performance Matters
I&#x27;m can&#x27;t dispute that fast software is a desirable trait for users.  I would love to spec low latencies into the requirements documents for my GUI projects.  But from a business standpoint, UI latency requirements are a good way to sabotage a project.<p>Slow solutions have a dramatic business advantage: using libraries, you can shave months off your delivery schedule by adding miliseconds to your UI delays.   The months add up; so do the miliseconds.  By using someone else&#x27;s crufty libraries, you can write a calculator app over the weekend.  Libraries will handle the double buffering for screen painting, unpacking fonts and rendering them into bitmaps, how to reflow text onto a screen, etc.  It might take seconds for the app to load all it&#x27;s assets and display the first user activity, but it was cheap to create, easy to iterate, and it gets the job done.  These are hallmarks of a valuable startup engineering effort.<p>But the development process for speedy applications is anathema to businesses of any size.  You have to throw away Electron and hire systems engineers with knowledge of the entire platform.  After some profiling, they may determine that the required speed is only possible once the system event handler has been replaced with a pared down routine, or when the framework&#x27;s audio interface is bypassed so the sound card can be accessed through low-latency DMA mode.  You have to repeat this for every platform you intend to support.  You have to throw away the wheel that everyone else is using and pay to reinvent one that spins a little faster.<p>To paraphrase Joel Spolsky&#x27;s comment on rewriting software: are you sure you want to give that kind of a gift to your competitor?  For most companies it isn&#x27;t worth it.<p>Are there exceptions?  Yes: a motivated engineer like John Carmack may work months to eliminate another 3ms frame latency out of a VR headset simply because of personal passion.  Google can amortize additional billions by wringing 100ms out of page load times by funding a browser project so complex that you also have to design a new build system for it.  But if you&#x27;re not Carmack and you&#x27;re not Google, you probably can&#x27;t afford to reinvent the wheel.