compile_params='', instrument='frameavg', repetitions=16, ), Run( name='setft', compile_params='-DSTORAGE_SCATTERED_SET', instrument='frameavg', repetitions=16, ), ] benchmark = Benchmark( dir='op_spawn/', title='', xlabel='count', ylabel='time', #axis_params='y unit=s,ybar,bar width=1cm,ymin=0,xtick=data,xticklabels={set, {vector \\\\ from middle}, {vector \\\\ from front}, {vector \\\\ from back}},xmin=-0.5,xmax=3.5,xticklabel style={rotate=-45, anchor=west, xshift=-3mm,yshift=-2mm,align=center}', axis_params='change y base, y SI prefix=milli, y unit=s,ymin=0', main='../op_spawn.cpp', frames=1, compile_params='-DENTITY_COUNT=1000000 -DSPAWN_RATE=1000', runs=runs, plots=[ Plot('vecft', title='vector', tex_params='"thick,green!75!black" "x*1000"', plotruns=[PlotRun(runs[0])]), Plot('setft', title='set', tex_params='"thick,violet" "x*1000"', plotruns=[PlotRun(runs[1])]), ] ) benchmark.generate()
title='', xlabel='number of registered systems', ylabel='average frame time', axis_params= 'change y base, y SI prefix=milli, y unit=s,xmin=1,xmax=12,ymin=0', ylabel_right='compilation time', axis_params_right='y unit=s,xmin=1,xmax=12,ymin=2,ymax=12.5', main='../component_types.cpp', frames=1000, compile_params='-DSTORAGE_TOV -DWIDTH=128u -DITERATIONS=128u -DUSE_ALL', legend_shift='0.075', arrowheads=False, runs=runs, plots=[ Plot('seqft', title='sequential scheduler', tex_params='"red,thick,mark=*" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[0])]), Plot('seqct', title='sequential scheduler', side='right', tex_params='"red,dashed,mark=x" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[0], cbench=True)]), Plot('parft', title='parallel scheduler', tex_params='"blue,thick,mark=*" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[1])]), Plot('parct', title='parallel scheduler', side='right', tex_params='"blue,dashed,mark=x" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[1], cbench=True)]),
ylabel='frame time', axis_params= 'change y base, y SI prefix=milli, y unit=s,ymin=0,ybar,xtick=data,xticklabels={},xmin=-0.5,xmax=3.5,grid=both,minor tick num=3' .format('{' + ', '.join(['{' + run.name + '}' for run in runs]) + '}') + 'xticklabel style={rotate=-10}', ylabel_right='cache misses', axis_params_right='ybar, y unit=percent,ymin=0,xmin=-0.5,xmax=3.5', arrowheads=False, legend_shift='0.1', main='../saxpy.cpp', frames=1000, compile_params='-DSCHEDULER_SEQUENTIAL -DWIDTH={}'.format(width), runs=[*runs, cm, cl], plots=[ Plot('minimum frame time', tex_params='"fill=brown!50"', plotruns=[PlotRun(run, min=True) for run in runs]), Plot('average frame time', tex_params='"fill=brown!75"', plotruns=[PlotRun(run, avg=True) for run in runs]), Plot('maximum frame time', tex_params='"fill=brown"', plotruns=[PlotRun(run, max=True) for run in runs]), PlotStub(side='left'), PlotStub(side='right'), PlotStub(side='right'), PlotStub(side='right'), Plot('cache misses', tex_params='"fill=blue!80!black"', side='right', plotruns=[PlotRun(cm)]),
dir='bodies/', main='../bodies.cpp', frames=1000, compile_params='-DSCHEDULER_SEQUENTIAL -DSTORAGE_TOV -DWIDTH=128', title='', width=10, arrowheads=False, ylabel='average frame time', axis_params= 'change y base, y SI prefix=milli, y unit=s,ymin=0,xmin=-0.5,xmax=1.5,ybar,xtick=data,xticklabels={{optimize for rigid bodies}, {optimize for soft bodies}},grid=both,minor tick num=3', ylabel_right='cache misses', axis_params_right='y unit=\\%,ymin=0,xmin=-0.5,xmax=1.5,ybar,', runs=runs, plots=[ Plot('ssbft', title='skip soft bodies', tex_params='fill=brown', plotruns=[PlotRun(runs[0])]), Plot('srbft', title='skip rigid bodies', tex_params='fill=cyan', plotruns=[PlotRun(runs[1])]), PlotStub(), PlotStub(), PlotStub(side='right'), PlotStub(side='right'), Plot('ssbcm', title='skip soft bodies', side='right', tex_params='"pattern color=brown,pattern=crosshatch,"', plotruns=[PlotRun(runs[2])]), Plot('srbcm',
dir='component_types/', #title='component types - sequential, $10^4$ frames, entities: $10^5$', title='', xlabel='number of component types', ylabel='average frame time', axis_params='change y base, y SI prefix=milli, y unit=s,ymin=0', ylabel_right='cache misses', axis_params_right='y unit=\\%,xmin=1,xmax=8,ymin=0,', main='../component_types.cpp', frames=10000, compile_params='-DSCHEDULER_SEQUENTIAL -DWIDTH=8u -DITERATIONS=32u', legend_shift='0.075', runs=runs, plots=[ Plot('tovft', title='tuple of vectors', tex_params='"orange,thick,mark=*" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[0])]), Plot('votft', title='vector of tuples', tex_params='"red,thick,mark=*" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[1])]), Plot('tovcm', title='tuple of vectors', side='right', tex_params='"blue,thick,mark=*" "' + step_calc + '"', plotruns=[PlotRun(runs[2])]), Plot('votcm', title='vector of tuples', side='right', tex_params='"violet,thick,mark=*" "' + step_calc + '"', plotruns=[PlotRun(runs[3])]),
compile_params='-DBENCHMARK_FRAMETIME -DSTORAGE_SCATTERED', instrument='frameavg', repetitions=24, ), ] benchmark = Benchmark( dir='spawn/', #title='spawn - sequential, $2500$ frames, spawn rate: $256$', title='', xlabel='entity count', ylabel='frame time', ylabel_right='memory consumption', axis_params='change y base, y SI prefix=milli, y unit=s,ymin=0,xmin=0,xmax=2499*256,', axis_params_right='change y base, y SI prefix=mega, y unit=B,xmin=0,xmax=2499*256,ymin=0,legend image code/.code={\\node[rectangle, inner sep=1mm, fill] {#1};}', arrowheads=False, main='../spawn.cpp', frames=2500, compile_params='-DSCHEDULER_SEQUENTIAL -DINITIAL_COUNT=0 -DSPAWN_RATE=256', legend_shift='0.05', runs=runs, plots=[ Plot('tovm', title='tuple of vectors', tex_params='"draw=none,fill=orange!50,opacity=0.5,ultra thick,const plot" "x*256" y " \\\\closedcycle"', side='right', plotruns=[PlotRun(runs[0])]), Plot('scatteredm', title='scattered', tex_params='"draw=none,fill=blue!50,opacity=0.5,ultra thick,const plot" "x*256" y " \\\\closedcycle"', side='right', plotruns=[PlotRun(runs[1])]), Plot('tovft', title='tuple of vectors', tex_params='"thick,orange,const plot" "x*256"', plotruns=[PlotRun(runs[2])]), Plot('scatteredft', title='scattered', tex_params='"thick,blue,const plot" "x*256"', plotruns=[PlotRun(runs[3])]), ] ) benchmark.generate()
name='seq', compile_params='-DBENCHMARK_FRAMETIME -DSCHEDULER_SEQUENTIAL', steps=steps ), Run( name='par', compile_params='-DBENCHMARK_FRAMETIME -DSCHEDULER_PARALLEL', steps=steps ), ] benchmark = Benchmark( dir='component_types_small_systems/', #title='component types - sequential, $10^4$ frames, entities: $10^5$', title='', xlabel='width', ylabel='average frame time', axis_params='change y base, y SI prefix=milli, y unit=s,xmin=16,xmax=128,ymin=0,', main='../component_types.cpp', frames=10000, compile_params='-DSTORAGE_TOV -DSYSTEM_COUNT=8 -DITERATIONS=32u -DUSE_ALL', legend_shift='0.075', runs=runs, plots=[ Plot('seqft', title='sequential scheduler', tex_params='"red,thick,mark=*" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[0])]), Plot('parft', title='parallel scheduler', tex_params='"blue,thick,mark=*" "' + step_calc + '" ' + ycalc, plotruns=[PlotRun(runs[1])]), ] ) benchmark.generate()
ylabel='frame time', ylabel_right='memory consumption', axis_params='y unit=s,ymin=0,xmin=0,xmax=2499*256,ymode=log,log basis y=2,', axis_params_right= 'y unit=B,xmin=0,xmax=2499*256,ymin=0,ymode=log,log basis y=2,legend image code/.code={\\node[draw, rectangle, inner sep=1mm, fill] {#1};}', arrowheads=False, main='../spawn.cpp', frames=2500, compile_params='-DSCHEDULER_SEQUENTIAL -DINITIAL_COUNT=0 -DSPAWN_RATE=256', legend_shift='0.05', runs=runs, plots=[ Plot( 'scatteredm', title='scattered', tex_params= '"draw=none,fill=blue!50,opacity=0.15,const plot" "x*256" y " \\\\closedcycle"', side='right', plotruns=[PlotRun(runs[0])]), Plot( 'enttm', title='EnTT', tex_params= '"draw=green!50,pattern=north west lines,pattern color=green!50,opacity=0.15,const plot" "x*256" y " \\\\closedcycle"', side='right', plotruns=[PlotRun(runs[2])]), Plot( 'tovm', title='tuple of vectors', tex_params= '"draw=orange,pattern=north east lines,pattern color=orange,opacity=0.15,const plot" "x*256" y " \\\\closedcycle"',