-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Martín Dias edited this page Sep 22, 2023
·
30 revisions
Welcome to the BlocBenchs wiki!
-
Download Pharo 11 or 12
-
Load the baseline with:
EpMonitor disableDuring: [
Author useAuthor: 'Load' during: [
[ Metacello new
baseline: 'BlocBenchs';
repository: 'github://pharo-graphics/BlocBenchs:dev-1.0/src';
onConflictUseIncoming;
ignoreImage;
load.
] on: MCMergeOrLoadWarning
do: [ :warning | warning load ] ] ]
We have a build script that downloads Pharo and loads the project. It's prepared to work on MacOS, Linux and Windows (tested with the bash shell terminal that comes with git for Windows).
To use it:
- Clone this repository (this will be the
<repo_path>
) - Create anywhere in your system a directory where the image will be build, and open a terminal there.
- Execute
<repo_path>/scripts/build.sh
- Run examples at class-side of
PCBenchmarker
- Run examples at class-side of
BlProfileRunner
- Run
BlMouseMoveBenchmark class>>#exampleRun
- Run
PCMeanConfidenceIntervalPrinter class>>·example
- Run
AeBenchFigureGridRunner
inBlocBenchs-Alexandrie
To benchmark FPS (frames per second) in a geometry at Bloc level:
PCBenchmarkSuite new
addCase: PCRoundedRectanglesBenchCase new;
numberOfSeconds: 7;
addAlexandrieBenchmarker;
runInForkWithGUI
Where you can easily create a new case (to replace PCRoundedRectanglesBenchCase
).
See bench report in Transcript
.
To benchmark multiple performance aspects:
[ case := BlBoidsProfileCase new.
case duration: 7 seconds.
case hostClass: BlOSWindowSDL2Host.
(BlProfileRunner newForCase: case)
enableFPS;
run;
openMeterReports ] fork
This is the Boids demo, and you will get a Morphic window with the report of FPS.
Also, you can replace enableFPS
by enableFFICounter
and get a ranking table of FFI calls per frame.
You can also replace by enableASProfiler
and get a profiler result.