vgacon / vesafb performance stats

Jon Evans (jon@evansoft.demon.co.uk)
Thu, 30 Jul 1998 20:42:49 +0100 (GMT)


Hi all,

OK, so the test was *really* simplistic, but I've got the following
figures. NB the "averages" were over 5 runs on a lightly loaded system
running normal daemons. They weren't calculated, they are just rough
averages from eyeballing the script outputs.

Executive Summary
=================

The new vgacon code in 2.1.112 is faster than the console code in 2.0.34.

Further Details
===============

The vga console code in 2.1.112 is 2.3 times faster than the same code in
2.0.34 at writing individual characters. It's nearly 4 times faster than
2.0.34 at writing strings.

In 2.1.112, the new vesa console is 20 times slower than the vgacon code
at writing individual characters. It's only about 15 times slower at
writing strings.

There isn't much speed benefit in 2.0.34 between writing individual chars
to the console and writing bunches of chars. Writing 5 million chars in
strings of 5 characters is only 1.3 times faster than writing the 5
million chars individually. In 2.1.112 it's about 2.1 times faster than
writing the chars individually.

Raw Data
========

Test 1: Write 1 million chars to the screen
===========================================

2.1.112 vgacon:
ave 0:4.66 elapsed, 2.90 user, 1.75 system

2.1.112 vesa:redraw
ave 1:32.10 elapsed, 2.93 user, 89.12 system

2.1.112 vesa:memmove
(I ran out of patience!)

2.0.34 stock redhat-5.1
ave 0:10.90 elapsed, 2.90 user, 8.05 system

Test 2: Write the string "Linux" to the screen 1 million times
==============================================================

2.1.112 vgacon
ave 0:10.84 elapsed, 1.96 user, 8.89 system

2.1.112 vesa:redraw
ave 2:58.87 elapsed, 4.60 user, 88.50 system

2.1.112 vesa:memmove
not enough hours in the day :-)

2.0.34 stock redhat-5.1
ave 0:41.90 elapsed, 1.90 user, 40.00 system

System Used
===========

An Intel P200 non-MMX with an ATI 3D Expression+ PC2TV (Mach64)

vesa mode used:
mode "name"
# H: 0.000 kHz, V: 0.000 Hz
geometry 640 480 640 480 8
timings 0 0 0 0 0 0 0
endmode

Frame buffer device information:
Name : `VESA VGA'
Address : 0xfd000000
Size : 307200
Type : PACKED PIXELS
Visual : PSEUDOCOLOR
XPanStep : 0
YPanStep : 0
YWrapStep : 0
LineLength : 640
Acceleration: None

-- 
Jon Evans

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.altern.org/andrebalsa/doc/lkml-faq.html