[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [MiNT] gcc 68000 vs 68020-60 vs 68060 comparison
Vincent Rivière a écrit :
As we discussed long ago, another big source of speed is... alignment
of longs on 32-bit boundaries. We have seen that such aligned longs
are faster than unaligned in the FastRAM. In order to respect the
existing TOS APIs, our GCC never tries to align longs on 32-bit. So
they are randomly slow or fast. Enabling alignment would provide more
speed. But the OS public structures should be protected to keep
unaligned and compatible. This will be a full project.
I made a quick hack in EmuTOS for ColdFire to align the RAM returned
by Malloc() on a 32-bit boundary, the performance was significantly
better.
Actually, this is even true for STram on the Falcon030. 4-byte aligned
STram access is 10%-20% faster. In Animator, I finally enforced 4-byte
alignment for all allocated blocks, but the key performance boost was
aligning output of uncompressed video frames into screen memory.