Difference between revisions of "Rodin Performances"

From Event-B
Jump to navigationJump to search
imported>Tommy
imported>Nicolas
Line 96: Line 96:
 
| 211.0 s
 
| 211.0 s
 
| 30.9 s
 
| 30.9 s
 +
|-
 +
| Builder + Auto Prover / models only
 +
| [[#Cruise Control 0.5.0]]
 +
| [[#Configuration 1]]
 +
| 351.5 s (1550 / 2911 POs)
 +
| 641.9 s (1550 / 2911 POs)
 +
| 484.5 s (1574 / 2911 POs)
 
|-
 
|-
 
| Builder / models + proofs
 
| Builder / models + proofs
Line 110: Line 117:
 
| 2524 ms
 
| 2524 ms
 
| 995 ms
 
| 995 ms
 +
|-
 +
| Builder + Auto Prover / models only
 +
| [[#Cars on a Bridge]]
 +
| [[#Configuration 1]]
 +
| 4388 ms (237 / 237 POs)
 +
| 4320 ms (237 / 237 POs)
 +
| 3466 ms (237 / 237 POs)
 
|-
 
|-
 
| Builder / models + proofs
 
| Builder / models + proofs
Line 124: Line 138:
 
| 88.7 s
 
| 88.7 s
 
| 11.2 s
 
| 11.2 s
 +
|-
 +
| Builder + Auto Prover / models only
 +
| [[#Systerel Project]]
 +
| [[#Configuration 1]]
 +
|
 +
| 185.7 s (1218 / 1360 POs)
 +
| 162.3 s (1218 / 1360 POs)
 
|-
 
|-
 
| Builder / models + proofs
 
| Builder / models + proofs

Revision as of 17:09, 3 February 2011

Performance measures for the Rodin Platform.

Configurations

Configuration 1

System:

  • Intel Pentium Dual Core E2180 (2* 2 GHz)
  • 2 Go RAM

OS:

  • Ubuntu 10.10
  • linux kernel 2.6.35-24
  • GNOME 2.32.0

Java:

  • Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
  • Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode)
  • VM arguments
    • -Xms40m
    • -Xmx1200m

Eclipse:

  • Helios (3.6.1)
  • JUnit 4.8.1
  • tests run from a freshly launched eclipse as only running user application, in UI thread, with an empty workbench.

Benchmark Projects

Cruise Control 0.5.0

  • 7 Contexts
  • 49 Machines
  • 2911 POs

Cars on a Bridge

Taken from Jean-Raymond Abrial's book "Modeling in Event-B"

  • 3 Contexts
  • 4 Machines
  • 237 POs

Systerel Project

  • 9 Contexts
  • 14 Machines
  • 927 POs

Protocol

A measurement is launched using the JUnit plug-in fr.systerel.perf.tests.

Launch Configuration must include exactly the following plug-ins:

  • fr.systerel.perf.tests
  • org.eventb.core
  • org.eventb.core.seqprover
  • org.eventb.core.ast
  • org.rodinp.core

Every measurement starts with the build of a fake project intended to load all needed classes (extra time of more than 10 seconds has been observed for build). Class loading is intended to be optimised separately.

Verify that 1200 Mo are free when tests are ready for launch.

Results

Measures
Test Applied to Configuration Rodin 1.3 Rodin 2.0 Rodin 2.1
Lexer #Configuration 1 19.0 s 21.4 s 35.6 s
Parser #Configuration 1 17.1 s 39.3 s 17.2 s
Builder / models only #Cruise Control 0.5.0 #Configuration 1 119.6 s 211.0 s 30.9 s
Builder + Auto Prover / models only #Cruise Control 0.5.0 #Configuration 1 351.5 s (1550 / 2911 POs) 641.9 s (1550 / 2911 POs) 484.5 s (1574 / 2911 POs)
Builder / models + proofs #Cruise Control 0.5.0 #Configuration 1 108.6 s 199.1 s 123.3 s
Builder / models only #Cars on a Bridge #Configuration 1 2060 ms 2524 ms 995 ms
Builder + Auto Prover / models only #Cars on a Bridge #Configuration 1 4388 ms (237 / 237 POs) 4320 ms (237 / 237 POs) 3466 ms (237 / 237 POs)
Builder / models + proofs #Cars on a Bridge #Configuration 1 2843 ms 3360 ms 2238 ms
Builder / models only #Systerel Project #Configuration 1 88.7 s 11.2 s
Builder + Auto Prover / models only #Systerel Project #Configuration 1 185.7 s (1218 / 1360 POs) 162.3 s (1218 / 1360 POs)
Builder / models + proofs #Systerel Project #Configuration 1 149.9 s 109.4 s


The figure below presents and sums up the values of the table above:

Rodin Performances Core perf fullv2.png

Test Builder = SC + POG + POM, no proof attempt is performed.