Flojomojo Posted December 26, 2017 Share Posted December 26, 2017 Interesting analysis. If you ever thought your vintage computer was faster than your modern computer, you're in good company. Go read the whole thing at https://danluu.com/input-lag/but I'll snag some key points: I’ve had this nagging feeling that the computers I use today feel slower than the computers I used as a kid. As a rule, I don’t trust this kind of feeling because human perception has been shown to be unreliable in empirical studies, so I carried around a high-speed camera and measured the response latency of devices I’ve run into in the past few months. Here are the results: It’s a bit absurd that a modern gaming machine running at 4,000x the speed of an apple 2, with a CPU that has 500,000x as many transistors (with a GPU that has 2,000,000x as many transistors) can maybe manage the same latency as an apple 2 in very carefully coded applications if we have a monitor with nearly 3x the refresh rate. It’s perhaps even more absurd that the default configuration of the powerspec g405, which had the fastest single-threaded performance you could get until October 2017, had more latency from keyboard-to-screen (approximately 3 feet, maybe 10 feet of actual cabling) than sending a packet around the world (16187 mi from NYC to Tokyo to London back to NYC, more due to the cost of running the shortest possible length of fiber). On the bright side, we’re arguably emerging from the latency dark ages and it’s now possible to assemble a computer or buy a tablet with latency that’s in the same range as you could get off-the-shelf in the 70s and 80s. This reminds me a bit of the screen resolution & density dark ages, where CRTs from the 90s offered better resolution and higher pixel density than affordable non-laptop LCDs until relatively recently. 4k displays have now become normal and affordable 8k displays are on the horizon, blowing past anything we saw on consumer CRTs. I don’t know that we’ll see the same kind improvement with respect to latency, but one can hope. There are individual developers improving the experience for people who use certain, very carefully coded, applications, but it’s not clear what force could cause a significant improvement in the default experience most users see. 2 Quote Link to comment Share on other sites More sharing options...
Keatah Posted December 26, 2017 Share Posted December 26, 2017 Code bloat and excessive complexity in certain areas will do that. I've always said Apple II was the most bare-metal of the classic micros. 4 Quote Link to comment Share on other sites More sharing options...
Flojomojo Posted December 27, 2017 Author Share Posted December 27, 2017 Code bloat and excessive complexity in certain areas will do that. I've always said Apple II was the most bare-metal of the classic micros. mouse over the figure above 3 Quote Link to comment Share on other sites More sharing options...
zzip Posted December 27, 2017 Share Posted December 27, 2017 I'm really not shocked by this. Windows 10 on my PC feels extremely sluggish, and I've done every tip I could find to speed it up In fact I can run Windows 95 under EMULATION on the same machine and it feels snappier than Windows 10. 1 Quote Link to comment Share on other sites More sharing options...
BydoEmpire Posted December 27, 2017 Share Posted December 27, 2017 Interesting and entertaining data, thanks for sharing! Quote Link to comment Share on other sites More sharing options...
Keatah Posted December 29, 2017 Share Posted December 29, 2017 https://groups.google.com/forum/m/?fromgroups#!topic/comp.sys.apple2/tGnFO_b8VCk So.. What can be done to combat the trend of having the oprating system do everything? Isn't that what PROGRAMS are for? And how can the end-user fight bloat effectively? Shouldn't the OS just serve as a file manager, launcher, and to connect all the hardware? Please, no suggestions of switching to Linux. It isn't an option for some. 1 Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted December 30, 2017 Share Posted December 30, 2017 I've had ideas for an OS, but they've been shot down as "by the time you've implemented everything necessary to work with modern hardware, you've essentially recreated Windows". (I wanted to create a sort of 64-bit OS with limited multitasking - think OS/2 1.0 but for AMD64 instead of 286 - and the ability to transparently emulate legacy hardware to run old MS-DOS games.) 1 Quote Link to comment Share on other sites More sharing options...
mr_me Posted December 31, 2017 Share Posted December 31, 2017 https://groups.google.com/forum/m/?fromgroups#!topic/comp.sys.apple2/tGnFO_b8VCk So.. What can be done to combat the trend of having the oprating system do everything? Isn't that what PROGRAMS are for? And how can the end-user fight bloat effectively? Shouldn't the OS just serve as a file manager, launcher, and to connect all the hardware? Please, no suggestions of switching to Linux. It isn't an option for some. I thought the problems is the programs. They are always running in background when they don't need to. A good example is a web browser. It's nice to have multiple tabs but every tab is running all the time eating up cpu time and memory. If I switch to a word processor those browser tabs are still running. Having multiple programs open is nice but, in most cases, there is no reason they have to be actively running. Task switching not multitasking is all that is needed in most cases. 1 Quote Link to comment Share on other sites More sharing options...
thetick1 Posted December 31, 2017 Share Posted December 31, 2017 (edited) I've had ideas for an OS, but they've been shot down as "by the time you've implemented everything necessary to work with modern hardware, you've essentially recreated Windows". (I wanted to create a sort of 64-bit OS with limited multitasking - think OS/2 1.0 but for AMD64 instead of 286 - and the ability to transparently emulate legacy hardware to run old MS-DOS games.) OS/2 1.3 would be the best pre-built multitasking OS to run PC DOS games. It is not 64-bit. But honestly a 64-bit compiled OS would be just a tiny bit slower for running DOS games due to extra mode and task switching. Just because the os is compiled as 64-bit does not mean it runs legacy code faster. The best OS to use would actually be a custom 32-bit Real Time OS (VXWorks) or Linux kernel build with ONLY the drivers/services needed built into the kernel. The problem with modern OSes (Win, OSX and pre-built Linux) is they have MANY services and features built in the kernel and also MANY services and features loaded at start. The fastest responding computer I have is a 1993 IBM Thinkpad 500 with 12MB of memory! Seriously I have a custom built low latency 2.0.X Linux kernel (no virtural memory) and it boots in about 5 seconds. Linux kernels newer than 2.0.X are significantly larger and more complex to support virtual memory management. Note: Many of these features and services modern OS have almost everyone certainly needs like tcp/ip, dns client etc... Edited December 31, 2017 by thetick1 Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted December 31, 2017 Share Posted December 31, 2017 OS/2 1.3 would be the best pre-built multitasking OS to run PC DOS games. It is not 64-bit. But honestly a 64-bit compiled OS would be just a tiny bit slower for running DOS games due to extra mode and task switching. Just because the os is compiled as 64-bit does not mean it runs legacy code faster. The best OS to use would actually be a custom 32-bit Real Time OS (VXWorks) or Linux kernel build with ONLY the drivers/services needed built into the kernel. The problem with modern OSes (Win, OSX and pre-built Linux) is they have MANY services and features built in the kernel and also MANY services and features loaded at start. The fastest responding computer I have is a 1993 IBM Thinkpad 500 with 12MB of memory! Seriously I have a custom built low latency 2.0.X Linux kernel (no virtural memory) and it boots in about 5 seconds. Linux kernels newer than 2.0.X are significantly larger and more complex to support virtual memory management. Note: Many of these features and services modern OS have almost everyone certainly needs like tcp/ip, dns client etc... I would use the approach of loadable modules and drivers, and keep the basic system as clean as possible and resident programs no bigger than necessary, similar to what was done with MS-DOS 2. Quote Link to comment Share on other sites More sharing options...
thetick1 Posted December 31, 2017 Share Posted December 31, 2017 (edited) I would use the approach of loadable modules and drivers, and keep the basic system as clean as possible and resident programs no bigger than necessary, similar to what was done with MS-DOS 2. If you care about latency then loadable modules is not the way to go. For the least latency build everything in the kernel. Ideally if you don't care about security put everything even the user api and all needed drivers and applications in kernel space. Switching in and out of kernel space adds significant latency. Many RTOSes have done this for many decades. Though nowadays with Linux dominating embedded products this generally not done anymore in the name of security and well latency is generally not a concern anymore. BTW about two to three decades ago I worked on development of embedded solutions for printers, thin clients, set top boxes, PDAs and early tablets etc.. Edited December 31, 2017 by thetick1 1 Quote Link to comment Share on other sites More sharing options...
The Usotsuki Posted December 31, 2017 Share Posted December 31, 2017 Which is why microkernel OSes didn't really take off, right? Well, said OS wouldn't need the root/user distinction, so basically everything could run in kernel space. 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.