Remember that you only speed up writes to the framebuffer -- q2 is doing
a lot of other work as well. If you want a direct test of the performance
gain try the dga utility in 8bpp mode that comes with XFree86. It runs a
simple benchmark if you hit b when it's running.
On another note -- the version of glibc that comes with RedHat 5.0 has a problem.
If you run the dga utility from 4.2 (linked against libc5.3.12) you should get
a transfer rate of around 80MBytes/sec -- with 5.0 I get 26MBytes/sec.
There seems to be a problem with the memset (and memcpy) routines in glibc.
I recompiled dga along with memset and memcpy from the glibc source and ran
some benchmarks and got very good performance that way so I think there is
some problem with the way they built the library. (I don't know if it's
PentiumPro specific -- since the string stuff is in asm it might be something
subtle)
------------------------------------------------------------------------------
These numbers are transfer rates to the linear frame buffer of the
video card. Mtrr's are enabled and the frame buffer is set to
write combining. (Note dga doesn't use memcpy -- I added that in since
I wanted to test some of the other memory stuff)
Redhat 5.0 supplied glibc recompiled memcpy and memset
functions from glibc source
memcpy 26 MBytes/sec 80 MBytes/sec
memset 26 MBytes/sec 80 MBytes/sec
These numbers are transfer rates from buffer to buffer in main memory.
memset 246 MBytes/sec 405 MBytes/sec
memcpy 177 MBytes/sec 182 MBytes/sec
System is a 180 Mhz PentiumPro with 64 Megabytes of RAM and a
Matrox Millenium II.
Regards
Emil Briggs
~