| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | let the loader load the benchmark not exec | Florian Fischer | 2019-08-12 | 1 | -1/+2 |
| | | | | | | If the loader calls build/exec the execvp from build/exec is handled by the system loader. | ||||
| * | fix benchmarks for any glibc version | Florian Fischer | 2019-08-12 | 1 | -1/+1 |
| | | | | | | | | | | use the included loader of the build glibc instead of LD_LIBRARY_PATH. Using LD_LIBRARY_PATH probably fails because of incompatible system loaders and newer glibc versions. Then we have to reverse the positions of {measure cmd} and {cmd prefix} in the exec chain because ld loads only ELF binaries and {measure cmd} could be a script. | ||||
| * | use absolut path of benchmark binary | Florian Fischer | 2019-08-12 | 1 | -1/+2 |
| | | |||||
| * | use LD_LIBRARY_PATH for glibc instead of calling its loader | Florian Fischer | 2019-08-12 | 1 | -1/+7 |
| | | | | | | | | | Calling the loader fails on non ELF executables. Exec, formerly run_cmd, now takes two options: -l LD_LIBRARY_PATH, -p LD_PRELOAD. -p sets LD_PRELOAD and -l LD_LIBRARY_PATH before executing the rest of argv. glibc no longer uses cmd_prefix in favor of LD_LIBRARY_PATH. | ||||
| * | Rework exec chain | Florian Fischer | 2019-08-11 | 1 | -18/+17 |
| | | | | | | | | | | | | | | | Originally the structure of the executed cmd was {measure cmd} {allocator cmd prefix} {cmd} with the parent environment except LD_PRELOAD was modified for the whole command chain. Unfortunatly perf causes segfaults with some allocators and measuring allocators cmd prefixes doesnt seem fair. So the new cmd chain looks like: {allocator cmd prefix} {measure cmd} run_cmd <LD_PRELOAD> {cmd} without touching the environment in python. run_cmd sets LD_PRELOAD to the value it received in argv[1] and executes argv[2] with the rest of argv. This does also measure code not part of the actual benchmark but in a equal manner and not only for some allocators. | ||||
| * | be more carefull with default entries in Benchmark.results | Florian Fischer | 2019-08-10 | 1 | -10/+18 |
| | | |||||
| * | add facts to dataref export | Florian Fischer | 2019-07-31 | 1 | -19/+43 |
| | | |||||
| * | apply some flake8 hints | Florian Fischer | 2019-06-19 | 1 | -36/+34 |
| | | |||||
| * | fix old variable name in debug output | Florian Fischer | 2019-06-17 | 1 | -1/+1 |
| | | |||||
| * | save full server /proc/pid/status file in each result entry | Florian Fischer | 2019-05-27 | 1 | -1/+4 |
| | | |||||
| * | fix libc_ver using code from pip | Florian Fischer | 2019-05-27 | 1 | -1/+1 |
| | | |||||
| * | fix cmd for non server benchmarks | Florian Fischer | 2019-05-15 | 1 | -1/+1 |
| | | |||||
| * | introduce server concept to Benchmark | Florian Fischer | 2019-05-15 | 1 | -32/+102 |
| | | | | | | | | | | | | | A benchmark object can specify a list of cmds to execute as "servers" in the member attribute server_cmds. Servers are started and terminated through Popen objects. This requires the server cmds to not daemonize so the server can be terminated through the Popen object. For each started server cmd a shutdown function is registered with atexit to terminate all servers even if a exception occurs. Use the new server concept in httpd and mysql benchmarks | ||||
| * | add export to dataref | Florian Fischer | 2019-05-08 | 1 | -1/+27 |
| | | |||||
| * | fix upper-whisker, singularize whisker names and capitalize csv headers | Florian Fischer | 2019-05-08 | 1 | -5/+5 |
| | | |||||
| * | move list of available benchmarks to src.globalvars.benchmarks | Florian Fischer | 2019-04-29 | 1 | -1/+0 |
| | | | | | fix analyse | ||||
| * | fix Benchmark.run | Florian Fischer | 2019-04-28 | 1 | -1/+1 |
| | | |||||
| * | use special allocator "malt" during analyse to run the benchmark only once | Florian Fischer | 2019-04-28 | 1 | -6/+4 |
| | | |||||
| * | don't fail if NaN is in eval | Florian Fischer | 2019-04-28 | 1 | -1/+7 |
| | | |||||
| * | add standart deviation in percent of mean | Florian Fischer | 2019-04-15 | 1 | -0/+2 |
| | | |||||
| * | improve descriptive statistics, csv-export and add general barplot function | Florian Fischer | 2019-04-13 | 1 | -110/+198 |
| | | |||||
| * | make tex tables standalone | Florian Fischer | 2019-04-10 | 1 | -0/+3 |
| | | |||||
| * | add normalization to plot_fixed_arg | Florian Fischer | 2019-04-10 | 1 | -2/+10 |
| | | |||||
| * | fix autoticks in plot_fixed_arg | Florian Fischer | 2019-04-10 | 1 | -1/+1 |
| | | |||||
| * | add analyze and server_benchmark feature | Florian Fischer | 2019-04-02 | 1 | -49/+61 |
| | | | | | | | | | | | | | | | | | | | | | | | --analyze uses malt to trace the benchmarks behavior. It uses the run loop but the obtained results are not stored Benchmark.server_benchmark is used if only a server is started for each allocator and clients are used to measure its performance in the run loop. If server_benchmark is set to True the cmds are run with the system default allocator. Misc changes: * The global environment is no longer changed. Instead a custom env dict is passed to suprocesses containing LD_PRELOAD. * Failing cmds no longer skip the whole benchmark instead they now skip the malfunctioning allocator. * Fix default title in plot_single_arg an analyse run are not stored | ||||
| * | move find_cmd to src/util.py | Florian Fischer | 2019-04-02 | 1 | -24/+5 |
| | | |||||
| * | add export_to_csv and use it in the loop benchmark | Florian Fischer | 2019-03-25 | 1 | -1/+43 |
| | | |||||
| * | fix plot_single_arg | Florian Fischer | 2019-03-23 | 1 | -1/+1 |
| | | |||||
| * | use numpy NaN for non numerical results | Florian Fischer | 2019-03-22 | 1 | -1/+4 |
| | | |||||
| * | fix some Exceptions | Florian Fischer | 2019-03-22 | 1 | -1/+1 |
| | | |||||
| * | calculate mean and standard deviation for every data point | Florian Fischer | 2019-03-22 | 1 | -42/+52 |
| | | |||||
| * | alwys reset LD_PRELOAD even when a exception occurs | Florian Fischer | 2019-03-22 | 1 | -0/+3 |
| | | |||||
| * | use exceptions in mysql benchmark | Florian Fischer | 2019-03-21 | 1 | -29/+16 |
| | | |||||
| * | add scale arg to plot_single_arg | Florian Fischer | 2019-03-19 | 1 | -4/+29 |
| | | |||||
| * | fix run=0 | Florian Fischer | 2019-03-19 | 1 | -1/+1 |
| | | |||||
| * | Don't print running if -r 0 is set | Florian Fischer | 2019-03-08 | 1 | -0/+5 |
| | | |||||
| * | reset LD_PRELOAD after each allocator | Florian Fischer | 2019-03-08 | 1 | -0/+7 |
| | | |||||
| * | fix scale_threads | Florian Fischer | 2019-03-06 | 1 | -1/+1 |
| | | |||||
| * | improve thread scaling | Florian Fischer | 2019-03-06 | 1 | -8/+9 |
| | | |||||
| * | add allocators to globalvars; kill mysql server on exit; save libc versions ↵ | Florian Fischer | 2019-03-06 | 1 | -3/+7 |
| | | | | | of requirements | ||||
| * | add function to scale thread to available cpus | Florian Fischer | 2019-03-05 | 1 | -0/+27 |
| | | |||||
| * | add new verbosity and colored output | Florian Fischer | 2019-03-05 | 1 | -31/+33 |
| | | |||||
| * | fix perf checks | Florian Fischer | 2019-02-27 | 1 | -3/+7 |
| | | |||||
| * | don't print output of test ls call | Florian Fischer | 2019-02-27 | 1 | -1/+2 |
| | | |||||
| * | Revert "use global perf_allowed" | Florian Fischer | 2019-02-22 | 1 | -5/+3 |
| | | | | | This reverts commit d6d502c22d7d0438b3151fd32d7eb6f83b73711f. | ||||
| * | use global perf_allowed | Florian Fischer | 2019-02-22 | 1 | -3/+5 |
| | | |||||
| * | fix perf check | Florian Fischer | 2019-02-22 | 1 | -2/+2 |
| | | |||||
| * | add perf check | Florian Fischer | 2019-02-22 | 1 | -0/+19 |
| | | |||||
| * | be more verbose if requirement was not found | Florian Fischer | 2019-02-22 | 1 | -0/+2 |
| | | |||||
| * | change kwargs order to match order of call in bench.py | Florian Fischer | 2019-02-15 | 1 | -1/+1 |
| | | |||||
