On Tuesday, February 14, 2017 at 4:27:54 PM UTC-6, Gene Buckle wrote:
Is it likely that their heap manager is more efficient or faster?
I've looked at the code for both, and they seem to have roughly the same runtime.
What version of Turbo Pascal are you referencing?
7.0, although the heap manager is the same as when it was changed in 6.0.
I've come to the conclusion that the reason for the change was likely the need for more granular allocation. 5.5 introduced objects, which dramatically increased the load on the heap manager, so in 6.0 they cut the slack/waste down to 8 bytes from 16.
It is possible to create more granular heap management, but not without drastically increasing the overhead (both time and storage) which eliminates the gains you'd get. So the TP 6.0+ heap manager represents the sweet spot of complexity, storage
efficiency, and flexibility.
The whole thing came up when I was looking into ways to create more size-optimized code and realized there was a lot of duplication of effort along the way. If I really need size, I'll code in assembler :)
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)