mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-12-24 22:46:15 +01:00
4d5047e0e7
The main use of the performance test is to run it for two (or more) commits and compare the results. Doing that manually, is cumbersome. Add a (very hacky) script to help with that. For usage, see the comment on top of the script. Example: # first: meson build -Dprefix=/tmp/glib/ -Db_lto=true --buildtype release -Ddebug=true # then: GLIB_PERFORMANCE_FACTOR=17.06 \ PERF='perf stat -r 4 -B' \ PATCH="2.80.0..th/performance" \ COMMITS="2.79.3 2.80.0" \ /tmp/performance-run.sh -s 1 property-get property-set This will build the requested $COMMITS and print something like: ... >>> combined result > /tmp/glib-performance-output.all Running test property-get property-get: Property get per second: 35742719 37208288 (+4.1%) Running test property-set property-set: Property set per second: 32341232 36942399 (+14.2%) Running test property-get property-get: Property get per second: 36934401 37143479 (+0.566%) Running test property-set property-set: Property set per second: 38046387 38165548 (+0.313%) Running test property-get property-get: Property get per second: 34759576 36359761 (+4.6%) Running test property-set property-set: Property set per second: 35262505 37651733 (+6.78%) Running test property-get property-get: Property get per second: 37014537 32870906 (-11.2%) Running test property-set property-set: Property set per second: 36633026 38216846 (+4.32%) Performance counter stats for './build/gobject/tests/performance/performance -s 1 property-get property-set' (4 runs): 1,312.18 msec task-clock:u # 1.000 CPUs utilized ( +- 4.82% ) 0 context-switches:u # 0.000 /sec 0 cpu-migrations:u # 0.000 /sec 121 page-faults:u # 92.213 /sec ( +- 0.24% ) 5,221,701,009 cycles:u # 3.979 GHz ( +- 2.61% ) 19,035,814,175 instructions:u # 3.65 insn per cycle ( +- 0.00% ) 4,335,306,010 branches:u # 3.304 G/sec ( +- 0.00% ) 13,031 branch-misses:u # 0.00% of all branches ( +- 4.17% ) TopdownL1 # 10.3 % tma_backend_bound # 5.3 % tma_bad_speculation # 11.4 % tma_frontend_bound # 73.1 % tma_retiring ( +- 2.15% ) [1] 1.3127 +- 0.0634 seconds time elapsed ( +- 4.83% ) [2] 1.2631 +- 0.0253 seconds time elapsed ( +- 2.00% ) property-get: Property get per second: 35742719 , 36934401 , 34759576 , 37014537 ; 37208288 , 37143479 , 36359761 , 32870906 ; property-set: Property set per second: 32341232 , 38046387 , 35262505 , 36633026 ; 36942399 , 38165548 , 37651733 , 38216846 ; |
||
---|---|---|
.. | ||
performance | ||
accumulator.c | ||
autoptr.c | ||
basic-signals.c | ||
basics-gobject.c | ||
binding.c | ||
bindinggroup.c | ||
boxed.c | ||
closure-refcount.c | ||
closure.c | ||
custom-dispatch.c | ||
cxx.cpp | ||
defaultiface.c | ||
deftype.c | ||
deprecated-properties.c | ||
dynamictests.c | ||
dynamictype.c | ||
enums.c | ||
flags.c | ||
genmarshal.py | ||
gobject-query.py | ||
ifaceproperties.c | ||
marshalers.list | ||
max-version.c | ||
meson.build | ||
mkenums.py | ||
notify-init2.c | ||
notify-init.c | ||
object.c | ||
objects-refcount1.c | ||
objects-refcount2.c | ||
override.c | ||
param.c | ||
private.c | ||
properties-introspection.c | ||
properties-refcount1.c | ||
properties-refcount2.c | ||
properties-refcount3.c | ||
properties-refcount4.c | ||
properties.c | ||
qdata.c | ||
reference.c | ||
references.c | ||
signal-handler.c | ||
signalgroup.c | ||
signals-refcount.c | ||
signals.c | ||
singleton.c | ||
taptestrunner.py | ||
testcommon.h | ||
testing.c | ||
testmodule.c | ||
testmodule.h | ||
threadtests.c | ||
type-flags.c | ||
type.c | ||
value.c |