Vala Benchmarking

I have just got around to re-running some old Vala benchmarks, as found at:
http://code.google.com/p/vala-benchmarks/

Specification:

I used the following compiler versions:

Mono JIT compiler version 2.6.7
gcc version 4.4.5
Vala 0.14.0.61-61431

You can find my diff of the source tree here.

Size Benchmarks:

 

Name C++ Mono plain-C Vala
mandelbrot 4441 1375 2503 3032
partialSums 3100 1500 5842 6658
recursive 6171 1488 5827 6494
binaryTrees 5455 1538 4945 6916
sumFile 2603 1180 2003 4619
fannkuch 7728 1472 4594 7932
spectralNorm 5808 1498 3970 6464
nsieve 2711 1258 2186 4651
nBody 5859 2280 4758 7487

Time Benchmarks:

Name C++ Mono plain-C Vala
mandelbrot 5.17 10.89 5.14 5.00
partialSums 7.72 14.29 9.00 8.95
recursive 5.72 9.99 3.16 3.45
binaryTrees 9.74 16.12 8.20 11.18
sumFile

3.97 10.38 2.92 3.34
fannkuch 5.09 9.57 4.83 4.69
spectralNorm 8.86 14.76 8.96 8.95
nsieve 15.94 16.14 15.82 15.64
nBody 6.71 15.30 6.74 7.22

Graphs:


9 Comments on “Vala Benchmarking”

  1. nice work – pretty pictures and everything! 🙂

  2. kamstrup says:

    This is great – but are we measuring standard frobnications per unit flabbergoobs?

    (in other words – any way I can persuade you to put some units on there and very briefly describe what Size and Time means? ;-))

  3. jpaflacerda says:

    Paul – Thanks 🙂

    kamstrup – I agree, I should really have quantified what the size / time meant. A quick look at the makefile reveals that time is measured in “elapsed real time used by the process, in seconds”, and size is measured in kilobytes. It might be worth looking into finishing the memory benchmarks, which were never finished by the original author.

  4. Luca Bruno says:

    Does %K sum shared memory for C, C++ and Vala? A good estimation should be %t-%X (resident-shared) instead.

  5. Ikem says:

    Hmm.. Doesn’t leave a good picture on Vala..

  6. […] programovacom jazyku. Je to pomerne high-level jazyk ale čo je najzaujímavejšie sú benchmarky. Tento jazyk totiž nepoužíva interpreter ale je preložený do C a až potom skompilovaný. Z […]


Leave a comment