/mobile Handheld Friendly website
OUT-OF-DATE! Read http://shootout.alioth.debian.org/ |
This chart shows 3 comparisons - Time-used, Memory-used and Code-used ~ speed and size.
Each chart bar shows, for one unidentified benchmark, how much the fastest program used compared to the fastest Tcl program.
Look at speed another way - look at a box plot of Time-used data.
This table shows 3 comparisons - Time-used, Memory-used and Code-used ~ speed and size.
Each table row shows, for one named benchmark, how much the fastest program used compared to the fastest Tcl program.
| used what fraction? used how many times more? | ||||
|---|---|---|---|---|
| Benchmark | Time | Memory | Code | |
| used what fraction? used how many times more? | |||||||
|---|---|---|---|---|---|---|---|
| Time-used | |- | |--- | 25% | median | 75% | ---| | -| |
| (CPU secs) | |||||||
± read the measurements and then read the program source code.
This table shows 5 measurements - CPU Time, Elapsed Time, Memory, Code and ≈ CPU Load ~ speed and size.
For each named benchmark, measurements of the fastest program are shown for comparison against measurements of the fastest Tcl program.
| Program Source Code | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| spectral-norm | |||||
| Tcl | 35.81 | 18,592 | 425 | ||
| pidigits | |||||
| Tcl | |||||
| nsieve-bits | |||||
| Tcl | 67.44 | 5,904 | 424 | ||
| fasta | |||||
| Tcl | 12.63 | 3,168 | 946 | ||
| regex-dna | |||||
| Tcl | 0.75 | 6,300 | 373 | ||
| binary-trees | |||||
| Tcl | 7.08 | 3,256 | 540 | ||
| k-nucleotide | |||||
| Tcl | 2.45 | 8,316 | 561 | ||
| partial-sums | |||||
| Tcl | 0.34 | 3,264 | 450 | ||
| mandelbrot | |||||
| Tcl | 11.48 | 3,376 | 460 | ||
| recursive | |||||
| Tcl | 4.90 | 2,156 | 461 | ||
| n-body | |||||
| Tcl | 33.85 | 1,496 | 1454 | ||
| reverse-complement | |||||
| Tcl | 0.40 | 2,168 | 343 | ||
| nsieve | |||||
| Tcl | 14.59 | 11,620 | 295 | ||
Remember - those are just the fastest and Tcl programs measured on this OS/machine. Check if there are other implementations of these benchmark programs for .
Maybe one of those other programs is fastest on a different OS/machine.
Remember - those are just the fastest and Tcl programs measured on this OS/machine. Check if there are faster implementations of these benchmark programs for other programming languages.
Maybe one of those other programs is fastest on a different OS/machine.
Code size measurements are misleading for Smalltalk because source files are usually only used to archive or transfer code. Smalltalk code is created, stored and run in a Smalltalk image. We show Smalltalk source code in a verbose chunk file format used to archive or transfer source code between Smalltalk images.
"Design Principles Behind Smalltalk" by Daniel Ingalls
Home Page: Cincom Smalltalk™ VisualWorksl® Environment Data Sheet
Download: VisualWorksl® Non-Commercial
We've made the Smalltalk code a little more generic by abstracting out these implementation specific details:
Object subclass: #Tests instanceVariableNames: '' classVariableNames: '' poolDictionaries: '' category: 'Shootout'! !Tests class methodsFor: 'platform'! arg ^CEnvironment commandLine last asNumber! ! !Tests class methodsFor: 'platform'! stdin ^Stdin! ! !Tests class methodsFor: 'platform'! stdinSpecial ^ExternalReadStream on: (ExternalConnection ioAccessor: (UnixDiskFileAccessor new handle: 0))! ! !Tests class methodsFor: 'platform'! stdout ^Stdout! ! !Tests class methodsFor: 'platform'! stdoutSpecial ^ExternalWriteStream on: (ExternalConnection ioAccessor: (UnixDiskFileAccessor new handle: 1))! ! !Stream methodsFor: 'platform'! nl self nextPut: Character lf! ! !Stream methodsFor: 'platform'! print: number digits: decimalPlaces self nextPutAll: ((number asFixedPoint: decimalPlaces) printString copyWithout: $s)! ! !Stream methodsFor: 'platform'! print: number paddedTo: width number printOn: self paddedWith: $ to: width base: 10! ! !Integer methodsFor: 'platform'! asFloatD ^self asDouble! !