All big numbers are „Bytes“. Nothing else loaded, no keyboard driver a.s.o.
MS-DOS 1.25 : 642784 english
MS-DOS 2.00 : 628688 english
MS-DOS 2.11 : 630784 english
MS-DOS 3.00 : 616720 english
MS-DOS 3.10 : 616800 english
MS-DOS 3.20 : 609984 english
MS-DOS 3.30 : 600368 english
MS-DOS 3.31 : 599488 english (Compaq DOS, first DOS for partitions > 32MB)
MS-DOS 4.01 : 589488 english
MS-DOS 5.00 : 593392 english, no HIMEM.SYS
MS-DOS 5.00 : 638592 english, with a 386, and with DEVICE=HIMEM.SYS and DOS=HIGH
MS-DOS 6.22 : 592384 english, no HIMEM.SYS
MS-DOS 6.22 : 638416 english, with a 386, and with DEVICE=HIMEM.SYS and DOS=HIGH
MS-DOS 4.01 : 589072 german version (just to see if a different language costs memory)
HIMEM.SYS 2.04 can be loaded on a 386 with MS-DOS 4.01, but there is no DOS=HIGH command, about 2.6KB less memory then (if loaded),
DOS 6.22 without hidden DRVSPACE.BIN file in root directory.
There are no further numbers for comparison of higher DOS versions, because it makes not really sense to load such a version on a very old 8088 PC compatible system.
Also, I do not wanted to compare the free memory numbers for 386 systems and above, with UMB usage you can probably get even more free memory than just with DOS=High.
Nice comparison. I never knew that DOS 6 and DOS 5 uses almost the same amount of memory. So with larger disks DOS 6.x would be the choice, no reason to use DOS 5. (With smaller disks DOS 3.3 seems to be the best choice).
A small detail/correction: DOS=HIGH + HIMEM.SYS works equally well on a 286, so you might want to edit the text to replace 386 with 286.
Bonus: On some chipsets, at least those used with a 286, it’s possible to use the chipset hardware to enable UMB and thus be able to use LOADHIGH and DEVICEHIGH even without a 386. Not sure if this was a thing on any 8088 chipset, but it technically would be possible if using any of those modern ram boards for an 8088 that lets you add regular ram in the UMB part of the address space.
Some „NEAT“ 286 boards may have the ability to use UMB, too.
And yes, HIMEM.SYS was originally developed for the 286 CPU. But only with a 386 and above, QEMM and EMM386 would work to optimize it better. The term „386“ was used as an example here, but all of what you said is true.
Ich brauchte diesen Vergleich für ein Projekt auf einem Amstrad 1640 mit einer 2-GB-Festplatte.