About slow down effect. This version is slow as snail, but I could surf more with RoadShow than with AmiTCP. Memory allocator migh have a reason for slow down, downloading amiga.org forums/frontpage took about same amount of time every time. I this version renders page about 3x longer than prevoius version. So "normal" time to render amiga.org front page is about 90 seconds, forums renders about 140 seconds and I could test that about 6 times before I got time out error.
OK, this is more like I would expect - everything running consistently at a slower speed.
I know exactly what is causing the slowdown now. clib2 uses memory pools with a puddle size and expected allocation size of 4K. I modified that in the newer build to use normal memory allocations instead.
What is happening, is that early memory allocations are fast and efficiently allocated in 4K chunks. Then, when bits of memory is de-allocated it leaves holes. When new memory blocks are allocated it - and this is where I'm not sure of the implementation details in the OS - is trying to fill in the gaps in the already-allocated pools? With a lot of pools it may be taking some time to search through and find a gap of the correct size, which is similar to how normal memory allocations work when searching through all of RAM (and thus a similar speed).
Quite simply, we are allocating and de-allocating so much memory that we quickly lose any advantage of memory pools.
To fix it... well, that's tricky. The correct way would be to pool together elements of the same size to avoid fragmentation, but I can't do that in the core and all libraries without re-writing all the memory allocations (which would definitely not be popular). Note I already do this in the frontend everywhere it is practical (this was one of my earlier OS3 optimisation attempts!)
It may simply be a case of making the memory pools bigger, and I will try that first.
This version has some random weirdness. Suddenly it just started to display pictures with wrong colors. Opening own screen, like it would not read settings, no matter what put choises file or even if it is empty. Or what you have put to defaults??
The default is to open on its own screen.
use_screen:Workbench will open it on the Workbench screen, or play around with the unnamed radio buttons on the Display tab in prefs until the two fields are ghosted.
AGA seems to be faster than RTG? Everything tooks about same amout of time wit 040 / AGA than 060 /RTG
I don't do anything special for RTG so it is unlikely to be faster.