In these hours there is a lot of talk post published on Twitter by Julio Merinosoftware engineer in force at Snowflake, a company specializing in cloud computing solutions, formerly Microsoft and formerly Google. Merino sarcastically asks to remind him how he is evolving in the IT landscape. “Please remind me how we are moving forward. In this video, a ~2000 year machine (600 MHz, 128 MB RAM, rusty hard drive) with Windows NT 3.51. Note the incredible speed of opening applications“.
In his brief speech, the engineer shows a movie showing a Windows NT 3.51 system open instantly the file manager, the terminal window, the calculator, Paint, and so on. The machine is extremely responsive and the programs loaded on the system run without any kind of latency. How is it possible that today, even with the best-performing machines, the same thing doesn’t happen? Was it really evolution or can we speak of involution?
To add more fuel to the fire, Merino adds: “for those who think the comparison is unfair, here’s Windows 2000 on the same machine running at 600 MHz. (…) Note how fast system response is still exactly the same and the experience hasn’t been ruined yet“.
Windows NT 3.51 Compared to Modern Systems: Why Was It So Fast?
Windows NT is an operating system developed by Microsoft and first introduced in 1993. It was designed as an advanced and robust platform for business systems, offering security, stability and scalability features. The success of Windows NT had a significant impact on the evolution of Microsoft’s operating systems over the next few years.
The “NT family” introduced a layered architecture that separated the operating system kernel from applications and device drivers. It also provided support for multiprocessor configurations as well as safety features which included a role-based access control system, secure authentication, data encryption and process protection. The later Windows 2000 was the first operating system to bring the legacy of Windows NT into the hands of a wider audience of users, among those looking for a more stable platform and reliable compared to the Windows 9x offering. It was from the development of that same platform that systems such as were derived Windows XPWindows Vista, Windows 7 as well as the various versions of Windows Server.
Windows NT base was notoriously popular. The operating system was light, efficient and stable, thanks to the optimization of the available hardware resources. Overall, the size of the programs was much smaller than today but a calculator is always a calculator… Today as then.
Bigger applications, too many dependencies and background processes
The applications have become more and more heavy and complex over the years. They offer a wide range of features, advanced graphics, visual effects, network connectivity and integrations with other services. This increase in the software complexity takes longer to load all the resources and dependencies needed to run applications.
Modern operating systems often start a number of services and processi in background. These services provide additional functionality and application support, but can take time and resources. This can significantly affect the launch speed of applications.
Concerns about the safety have increased over the years, and this is also reflected in the speed of launching applications. Modern applications often have to perform much more complex security checks, such as verifying thesoftware integrity, user authentication and access control. All checks that impact the speed of launching applications.
The stark truth, unfortunately, is that very few things are optimized for performance to the present day. Developers often start with a application framework “prepackaged”, they load dozens of libraries with their respective dependencies (exploited yes and no for 5% of the total) and we wonder why the applications are so slow.
The first systems of the NT family had smaller functionality to the bone and there weren’t the advanced visual effects found in modern applications. With hardware specifications more limited, computers of the late 1990s – early 2000s ran fewer background processes than modern operating systems. This meant that there was less resource-demanding system activity, leaving more resources available for core programs to run. And the applications loaded in a flash.
Old School Programmers: Contributed by Dave Cutler
Among the best known software engineers, especially as regards the architecture of operating systems there is no doubt Dave Cutler. Joined Microsoft in 1988 after a long career at Digital Equipment Corporation (DEC), where he was involved in the development of operating systems for i mainframeCutler is recognized as the parent of Windows NT.
At Microsoft, Cutler was tasked with leading a team to create an advanced, scalable new operating system that could run on a variety of platforms, both desktop and server. The result of his and his team’s efforts was Windows NT: the operating system was characterized by a microkernela modular structure, and greater reliability and stability than previous versions of Windows.
Cutler was known for his obsession with performance of the operating system. He was determined to optimize and improve the performance of Windows NT, making it efficient and fast. He worked closely with the development team, optimizing the code, improving the algorithms and trying to minimize system response times.
Cutler’s obsession with performance was driven by his belief that a fast, responsive operating system could deliver better user experience and have a significant impact on customer and business adoption of the operating system.
Going back to Merino’s “provocation”, something has certainly “broken” over the years. If nothing else as regards the vision of the “priorities” in order to optimize the user experience.
The opening image is taken from J.Merino’s post on Twitter.