I am interested in hearing people's comments on this test. I know this is only one test and doesn't address desktop issues like program startup time, but we have to start somewhere.
We can start to assemble the benchmarks and put them in
http://fedora.redhat.com/projects/additional-projects/benchmarks/
-Will
Benchmark text output performance of gnome-terminal Frequently output is sent to a terminal window. In Gnome the program gnome-terminal handles the display of text on a terminal window. The, one simple benchmark is to determine the amount of time required to output a large text file to a gnome-terminal window. gnome-terminal is a little tricky to benchmark because has a server. When you start gnome-terminal it connects to the server rather than starting a new child process. Thus, timing the gnome-terminal command will count the time required to communicate information to the gnome-terminal server rather than the time required to actually perform the task. To work around this problem a script is executed within the new gnome-terminal window and the information is saved to a file. Procedure: 0) Get system configuration information hardware and software: CPU: cat /proc/cpuinfo Memory: cat /proc/meminfo Kernel: uname -a gnome-terminal: rpm -qa gnome-terminal xserver: rpm -qa xorg-x11 1) Get the test file, the jargon file from Project Gutenberg: http://www.gutenberg.net/etext02/jarg422.txt. 2) Verify that the file is the same with md5sum $ md5sum jarg422.txt ef9b53f52312ee266c98c8e206d9e823 jarg422.txt 3) Place the cattest script in the same directory as jarg422.txt and make it executable. 4) Run the test on the console of the machine with the command below. The script will generate a file "cattime in the directory with the amount of time required to cat the file to the terminal window. gnome-terminal -e "./cattest" 4a) If the system is set up to run oprofile and you have root access, you can run the same script as root with command below to get some additional profiling information in the cattime file: gnome-terminal -e "./cattest --profile" Additional analysis on the oprofile data can be performed after the benchmark completes.
#! /bin/bash # # Simple test to gather data on where gnome-terminal spends # time This is compilicated by the terminal server model of # gnome-terminal. Time taken for benchmark written to cattime. # # When optional --profile on commandline, oprofile used to get an # overall view of what is happening on the system. PROFILING is only # going to work with kernel that have oprofile support (Red Hat SMP # kernels). # # Will Cohen # 5/27/2004 # BENCHMARK="cattest" VERSION=0.0 OPCONTROL=/usr/bin/opcontrol OPREPORT=/usr/bin/opreport RM=/bin/rm RESULTS_FILE=cattime if test "$1" = "--profile"; then PROFILING=yes else PROFILING=no fi # Setup default oprofile. if test "$PROFILING" = "yes"; then $OPCONTROL --deinit $OPCONTROL --reset # FIXME Command below may use previous event settings for oprofile. $OPCONTROL --setup --no-vmlinux --separate=library $OPCONTROL --start fi # Run the actual experiment $RM -rf $RESULTS_FILE echo "Benchmark: " $BENCHMARK " Version: " $VERSION >> $RESULTS_FILE date >> $RESULTS_FILE # The actual benchmark being timed is below. /usr/bin/time /bin/cat `pwd`/jarg422.txt 2>> $RESULTS_FILE # Shutdown oprofile. if test "$PROFILING" = "yes"; then $OPCONTROL --dump $OPCONTROL --shutdown # If PROFILING, need to do analysis with oprerport after running the test. # May need more details than what is provided by command below. $OPREPORT --threshold 2 --long-filenames >> $RESULTS_FILE fi