ScriptPerf

For really detailed performance comparisons of many languages, check out Doug's Language Shootout or the Win32 programming language Shootout

For another interesting comparison of programming languages that I agree with very much, check out Keith Waclena's Programming Language Crisis. Also look at a list of Free Compilers.

ScriptPerf is a very simple scripting language benchmark. Its goal is to give a quick and cursory comparison of several useful embeddable scripting languages. The idea was borrowed from my friend Chris Trimble and his days at BlueSky (now Fox/VIFX).

I have also begun to run the benchmark on static-typed languages which share properties such as garbage collection, and robust basic datatypes. In general these languages share many of the benefits of script languages, with slightly more up-front cost, better long-term maintainability, and much better performance. [click here] for those results.


[ see the code ]

Results

These tests were run on a P5-166mmx. Not a hefty CPU, but still a fair playing field.
Numbers are time in seconds. (lower is better)
Python Python Ruby Lua (double) Lua (double) Perl C
Version 1.5.2 2.1 w/cycle-gc 1.4.5 3.1 4.0a 5.0pl5sv3 egcs-1.1.2
GC Style RefCount RefCount/GC GC Mark/Sweep GC Mark/Sweep GC RefCount None
HomePage home home home home home home n/a
Tested-on 2000-07-19 2001-04-18 2000-07-19 2000-07-19 2000-07-19 2001-04-18 2001-04-18
loop_test(500000) 33.94 35.59 17.16 11.36 7.31 18.95 0.16
index_test(1000000) 17.64 19.88 26.49 12.44 8.94 23.83 1.44
nested_int_test(23) 43.55 41.51 84.95 19.46 11.64 27.69 0.09
returntest(5000000) 74.31 80.19 53.02 28.30 19.78 156.24 0.42
functest(5000000) 63.85 76.49 53.84 24.47 19.65 106.24 0.39
objecttest(5000000) 102.15 120.98 59.60 37.85 22.84 n/a 0.45
list_append_test(50000) 1.17 1.25 0.48 2.11 * 1.89 * n/a 0.03
list_traverse_test(500000) 1.58 1.56 1.52 n/a n/a n/a 0.47
file_line_test 9.53 6.69 27.87 n/a 15.82 9.88 1.50
file_line_split_test 44.80 58.22 n/a n/a 35.35 7.28
file_line_re_test 294.83 55.50 n/a n/a 43.86
OVERALL

Test Descriptions

index_test write N elements into a hash-table and read them back
loop_test Perform two nested loops, the outer loop should be of N iterations, while the inner loop should be of 10 iterations
nested_int_test five levels of nested loops should be performed, each of N iterations, and at each level, some simple integer arithmetic should be performed on a local variable
returntest test the cost of multiple argument return by performing N function calls with two return arguments unpacked into local variables
functest test the cost of function calls by performing N function calls with one integer argument which returns that argument.
objecttest test the amount of time required to make a method call on an object by performing N method calls to an object method with one integer argument which returns that argument.

To Add: