Quantcast
Channel: L'Endormitoire » Little Smalltalk
Viewing all articles
Browse latest Browse all 2

Smalltalk et performance : tinyBenchmarks

0
0

Il existe plusieurs programmes d’évaluation (benchmarks) servant à établir des comparaisons.  Le plus simple dont nous disposions en Smalltalk est tinyBenchmark (dans Squeak, Pharo et quelques autres saveurs de Smalltalk).

Ce petit test simpliste mesure le nombre de bytecodes traités par seconde ainsi que le nombre d’envois de messages (message sends) par seconde.  Bref, ce test vaut ce qu’il vaut : il évalue  principalement la rapidité de la machine virtuelle sans se soucier de l’efficacité et de la rapidité du code Smalltalk ou des primitives.

Un test plus représentatif et complet, comme le Computer Language Benchmark Game, est nettement plus révélateur de l’ensemble des capacité d’un environnement Smalltalk.  Dans le passé, il en existait des versions pour Squeak et GNU Smalltalk mais il ne semble maintenant rester que celle de VisualWorks.  Le code Smalltalk pour le CLBG est toutefois disponible ici

Malgré tout, par simple curiosité, j’ai utilisé tinyBenchmark pour comparer différentes versions de Smalltalk.  Les versions évaluées étaient:

  • VisualWorks Non Commercial 7.8 (VW)
  • ObjectStudio 7.1 (OS)
  • VisualSmalltalk 3.0.1 (VS)
  • Squeak 4.2 All-in-One (SQ)
  • PharoCore 1.2 RC3 (PH)
  • VA Smalltalk 7.5 (VAST)
  • Dolphin Professional 6.02 (DP)
  • Amber 0.9.1 (AM)

Sans m’en douter, quelques surprises m’attendaient!

1) Bytecodes par seconde

VisualWorks Non Commercial 7.8 : 607691685
ObjectStudio 7.1 : 35717175
Visual Smalltalk 3.0.1 : 281603053
Squeak 4.2 All-in-One : 85373820
PharoCore 1.2 RC3 : 97390689
VA Smalltalk 7.5 : 358381181
Dolphin Professional 6.02 : 110771676
Amber 0.9.1 : 2195520

Bytecodes par seconde

Bytecodes par seconde

On remarque immédiatement la nette domination de VisualWorks sur tous ses concurrents et la seconde place de VisualAge.  La performance de VisualSmalltalk est surprenant tandis que je m’attendais à ce que Dolphin fasse mieux!  Évidemment, dans le cas d’Amber, il s’agit d’un petit nouveau mais laissons-lui le temps de mûrir un peu!

2) Envois de messages par seconde

VisualWorks Non Commercial 7.8 : 52403197
ObjectStudio 7.1 : 708240
VisualSmalltalk 3.0.1 : 59120053
Squeak 4.2 All-in-One : 3128033
Pharo Core 1.2 RC3 : 3828940
VA Smalltalk 7.5 : 19515614
Dolphin Professional 6.02 : 5097612
Amber 0.9.1 : 133367

Envois de messages par seconde

Envois de messages par seconde

Grosse surprise ici!  VisualSmalltalk domine!  Évidemment, VisualWorks suit de près tandis que Dolphin me déçoit encore!  J’ai toujours eu l’impression que Dolphin était fichtrement rapide mais ce n’était, hélas, qu’une impression!

Évidemment, la liste des versions de Smalltalk est loin d’être complète. J’essaierai, un  de ces jours, de refaire ce petit test (ou mieux, le Computer Language Benchmark) pour tous les environnements mentionnés ci-haut ainsi que les versions de Smalltalk suivantes:

Bref, toute cette histoire ne fait que commencer!  J’essaierai d’aboutir avec une version de tinyBenchmark pour toutes les versions de Smalltalk mentionnées dans cet article et qui roulent sur Windows… Éventuellement, je ferai la même chose pour le Shootout Benchmark…

À suivre!


Classé dans:Amber, Athena, Dolphin, GNU Smalltalk, Little Smalltalk, LSW Vision Smalltalk, MicroSeeker Smalltalk, ObjectStudio, performance, Pharo, QuickSilver Smalltalk, Redline Smalltalk, Sharp Smalltalk, Silverlight Smalltalk, Smalltalk, Smalltalk Express, Smalltalk MT, Smalltalk/X, SmallWorld, Squeak, StrongTalk, Uncategorized, Visual Smalltalk, VisualAge, VisualWorks Tagged: Amber, Athena Smalltalk, bytecodes, Computer Language Benchmark Game, Dolphin, GNU Smalltalk, Little Smalltalk, LSW Vision Smalltalk, machine virtuelle, message sends, MicroSeeker PIC/Smalltalk, ObjectStudio, performance, Pharo, Pocket Smalltalk, QuickSilver Smalltalk, Redline Smalltalk, Sharp Smalltalk, Smalltalk, Smalltalk Express, Smalltalk MT, Smalltalk/X, SmallWorld, Squeak, StrongTalk, tinyBenchmark, VA Smalltalk, VisualSmalltalk, VisualWorks

Viewing all articles
Browse latest Browse all 2

Latest Images

Trending Articles





Latest Images