Scripting Performance Test Bed Details

This page discusses some of the details in how we set up the test bed for the Scripting Performance Paper.
  • Gzipped tar file consisting of the various files used to run the tests
  • JavaScript tests
  • Java tests
  • Back to the Abstract
  • Setup

    To run the tests, we followed the steps below
    1. Downloaded the following:
    2. Tcl7.6 Tcl8.0
    3. TclBlend1.0b1up1
    4. JDK1.1.5
    5. Jacl1.0b1 prebuilt .class files.
    6. Tcl7.6 was configured with:

      configure -prefix=/vol/wang/wang2/pt/cxh/tcl7 --enable-gcc -enable-shared
      

      Tcl8.0 was configured with:

      configure -prefix=/vol/wang/wang2/pt/cxh/tcl --enable-gcc -enable-shared
      
      TclBlend was configured with
      ./configure --with-java=/vol/wang/wang2/pt/cxh/jdk1.1.5 --prefix=/vol/wang/wang2/pt/cxh/tclblend
      
    7. Compiled the above software with gcc 2.7.2.2.
    8. Installed the above software on a local partition of a Sun Ultrasparc 200 with 256Mb of memory running Solaris2.5.1.
    9. Downloaded Kernighan's source and datafiles from http://cm.bell-labs.com/cm/cs/who/bwk/timingtests.tar.gz and http://cm.bell-labs.com/cm/cs/who/bwk/timingdata.tar.gz
    10. Jacl has problems with gets. It appears that gets returns 0 when the end of file is reached instead of returning -1. The fix was to edit the tcl sources for the tail, wc and sum1 tests and change the >= to >:
      	while {[gets $fd line] >= 0} {
      
      became
      	while {[gets $fd line] > 0} {
      
    11. Jacl does not have fconfigure, so the cat and tail Tcl tests need the fconfigure wrapped in a catch:
      catch {fconfigure stdout -buffering full}	;# not needed on unix
      
    12. Edited the makefile appropriately.
    13. Ran make jclass to compile the Java tests used by Java and Tcl Blend.
    14. Ran make p.plt to create p.plt. This took a very long time, some of the Jacl tests take 30 minutes to run.
    15. Ran the JavaScript tests. For each class of test (sumloop, ack, array1, string), we started a new Netscape 4.03 process and visited the appropriate web page from js/index.html. We then copied the output with the mouse and pasted it into a file.
      Since one netscape process runs all the individual tests in a class of tests, memory allocation could be skewing the timing of the later individual tests.

    Copyright © 1998, H John Reekie, Christopher Hylands, Edward A. Lee

    Trademarks are properties of their respective owners.


    Last updated: 02/05/98
    cxh@eecs.berkeley.edu