3 ms·
No, it's largely CPU bound. I had a 68040 that would take around 45 seconds to generate ssh keys, and my little NetBSD Macintosh IIci with a 25MHz 68030 and no
by classichasclass 5y ago
No, it's largely CPU bound. I had a 68040 that would take around 45 seconds to generate ssh keys, and my little NetBSD Macintosh IIci with a 25MHz 68030 and no L2 card took 22 seconds for a single short TLS 1.2 transaction to a local test server. This wouldn't be a big problem if it weren't for the fact many servers just don't wait.
Shameless plug: a crypto client library oriented to old things. https://github.com/classilla/cryanc https://github.com/classilla/cryanc
- argvargc 5y agoThanks for that clarification. So... NOT CPU bound, but by server configuration! ;) I asked about RAM as I'm aware some maths functions can be sped up considerably using pre-rendered lookup tables. (And great library, lol'd a few times reading your humorous description.)
- oso2k 5y agoAlso, you want a fast FPU to do openssl work [0]. A standard 8088/8086 without an FPU is going to need an FPU emulator which is a slow process. You essentially have to throw an illegal instruction exception each time you want to execute FPU code. Then catch the exception and then emulate the 8087 in software. All this takes dozen to thousands of clock cycles on a 4.77MHz CPU depending on the FP instruction. Spending thousands of cycles per FP instruction while interrupts were disabled was costly on machines before 486s. They simply didn’t have the speed to make FPU emulation standard. Many commercial compilers for C/C++, Pascal, Fortran, and BASIC had FPU emulators as does MicroWeb’s choice of OpenWatcom. According to this benchmark, a low end 486/25MHz was over 1000x faster than a 286/6MHz with software FPU. The Pentium 10x faster still. [1] [0] https://www.linksysinfo.org/index.php?threads/using-fpu-emulator.69940/ https://www.linksysinfo.org/index.php?threads/using-fpu-emul... [1] https://www.fourmilab.ch/fbench/fbench.html https://www.fourmilab.ch/fbench/fbench.html