-
Notifications
You must be signed in to change notification settings - Fork 1
Home
Welcome to the BlocBenchs wiki!
-
Download Pharo 11, 12 or 13
-
Load the baseline with:
Metacello new
baseline: 'BlocBenchs';
repository: 'github://pharo-graphics/BlocBenchs:master/src';
loadThe following script may be convenient to prepare your image, before loading BlocBenchs, if you already have dependencies loaded with non-master branches.
#('Spec-Toplo' Toplo Album Bloc Alexandrie) do: [ :each |
Metacello new
baseline: each;
lock ].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
This script can save you time, to switch to dev branch (assuming there are no conflicts)
"Replace any matching repositories by shared clones"
{
'alexandrie'.
'bloc'.
'album'.
'toplo'.
'spec-toplo'.
} do: [ :repoName |
(IceRepository registry
select: [ :each | each name asLowercase = repoName ])
do:[ :each |
(each branchNamed: 'dev') checkout.
each fetch; pull ] ]
displayingProgress: [ :each | each ]You can find executable entry-points here:
- Run examples at class-side of
PCBenchmarker(NOT WORKING) - Run examples at class-side of
BlProfileRunner(NOT WORKING) - Run
BlMouseMoveBenchmark exampleRunto stress mouse move events - Run
AeBenchFigureGridRunnerinBlocBenchs-Alexandrie - Build and run circle_bench.c to compare it with
AeBenchFigureGridRunner. It shows a scenario where FFI is not a bottleneck: overhead is not significant compared to cairo's rasterization time - Evaluate
BlbSpaceTallyPrinter runToStdoutto stdout a ranking of memory consumption - Evaluate
AeBenchBlurRectangleRunner benchAllVsGaussianto compare different ways of emulating a Gaussian blur
The following snippet serves to benchmark FPS (frames per second) of Bloc's rounded rectangle geometry.
You can easily create a new case (to replace PCRoundedRectanglesBenchCase).
See FPS report in Transcript.
PCBenchmarkSuite new
addCase: PCRoundedRectanglesBenchCase new;
numberOfSeconds: 7;
addAlexandrieBenchmarker;
runInForkWithGUIVariations of the following snippet serves to benchmark multiple performance aspects:
[ case := BlBoidsProfileCase new.
case duration: 7 seconds.
case hostClass: BlOSWindowSDL2Host.
(BlProfileRunner newForCase: case)
enableFPS;
run;
openMeterReports ] forkThis will execute the Boids demo for 7 seconds. You can replace BlBoidsProfileCase by your own.
- Sending
enableFPSmakes you get a FPS report for each execution second. - Replace
enableFPSbyenableFFICounterto get a ranking of FFI calls per frame sorted by frequency. - Replace by
enableASProfilerto get a profiler.