Difference between revisions of "Improving language shootout results"

From Lazarus wiki
Jump to navigationJump to search
 
Line 1: Line 1:
http://shootout.alioth.debian.org/benchmark.php
+
==About==
  
[[objects]]
+
The computer language shootout (http://shootout.alioth.debian.org/benchmark.php) is a realisticly flawed
 +
benchmarking system which compares many languages on illogical basis. See their homepage for more info.
 +
 
 +
==Goals==
 +
 
 +
Our goals are to be on the highest possible positions. The requirements to reach them can be categorized
 +
into two.
 +
 
 +
1: Optimalizations on the assembler level. (core devel work)
 +
 
 +
2: Optimalizations of the benchmarks. (junior devel work)
 +
 
 +
==Way to go==
 +
 
 +
It was decided that to keep memory requirements low it's best to use val() and str() and never
 +
include SysUtils unless really required. 32 bit integers should be used when possible to increase
 +
speed as the benchmarking machine is x86(athlon 1Gb, 256Mb ram).
 +
Use of inline and records instead of classes can also improve performance considerable, but
 +
additional testing and comparing with C and other languages should be the main factor.
 +
Special note: inlining of recursive functions is possible and sometimes increases speed.

Revision as of 11:03, 5 July 2005

About

The computer language shootout (http://shootout.alioth.debian.org/benchmark.php) is a realisticly flawed benchmarking system which compares many languages on illogical basis. See their homepage for more info.

Goals

Our goals are to be on the highest possible positions. The requirements to reach them can be categorized into two.

1: Optimalizations on the assembler level. (core devel work)

2: Optimalizations of the benchmarks. (junior devel work)

Way to go

It was decided that to keep memory requirements low it's best to use val() and str() and never include SysUtils unless really required. 32 bit integers should be used when possible to increase speed as the benchmarking machine is x86(athlon 1Gb, 256Mb ram). Use of inline and records instead of classes can also improve performance considerable, but additional testing and comparing with C and other languages should be the main factor. Special note: inlining of recursive functions is possible and sometimes increases speed.