| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | add option to parse measure cmd stdout as csv | Florian Fischer | 2019-12-04 | 1 | -1/+2 |
| | | |||||
| * | support tikz plot using tikzplotlib | Florian Fischer | 2019-11-28 | 1 | -4/+19 |
| | | |||||
| * | fix scale factor > 0 for systems with more than 10 cpus | Florian Fischer | 2019-11-28 | 1 | -2/+2 |
| | | |||||
| * | allow scale factors < 1 | Florian Fischer | 2019-11-27 | 1 | -1/+1 |
| | | |||||
| * | fix Benchmark and facter load functions | Florian Fischer | 2019-11-23 | 1 | -3/+3 |
| | | |||||
| * | change result format from pickle to json | Florian Fischer | 2019-11-23 | 1 | -14/+31 |
| | | |||||
| * | make plot_* functions more robust to missing values | Florian Fischer | 2019-11-22 | 1 | -12/+20 |
| | | |||||
| * | fix some format hints | Florian Fischer | 2019-11-22 | 1 | -9/+9 |
| | | |||||
| * | extract perf check from way too long run method | Florian Fischer | 2019-11-22 | 1 | -17/+23 |
| | | |||||
| * | don't skip early | Florian Fischer | 2019-11-06 | 1 | -1/+0 |
| | | |||||
| * | fix invalid except syntax | Florian Fischer | 2019-11-06 | 1 | -1/+1 |
| | | |||||
| * | skip not starting servers | Florian Fischer | 2019-11-06 | 1 | -3/+17 |
| | | |||||
| * | remove debug output from benchmark.py | Florian Fischer | 2019-11-06 | 1 | -1/+0 |
| | | |||||
| * | use booktabs in standalone tex tables | Florian Fischer | 2019-10-30 | 1 | -0/+1 |
| | | | | | \toprule is definied in booktabs | ||||
| * | add toprule to tex tables | Florian Fischer | 2019-10-30 | 1 | -0/+1 |
| | | |||||
| * | add and use write_tex_table function | Florian Fischer | 2019-10-30 | 1 | -0/+101 |
| | | |||||
| * | introduce a global summary file extension | Florian Fischer | 2019-10-30 | 1 | -3/+3 |
| | | |||||
| * | improve scale_thread_for_cpus | Florian Fischer | 2019-10-21 | 1 | -21/+21 |
| | | | | | | | | Thread numbers are now a factor of two. Allow creation of Benchmark objects when src.globalvars.result_dir is not set. | ||||
| * | don't try to terminate servers that exited with 0 | Florian Fischer | 2019-10-13 | 1 | -1/+1 |
| | | |||||
| * | support substitutions in server shutdown_cmds | Florian Fischer | 2019-10-13 | 1 | -6/+10 |
| | | |||||
| * | catch SIGSEGV as well; register sa_handlers only if its SIG_DLF before | Florian Fischer | 2019-09-29 | 1 | -7/+2 |
| | | |||||
| * | catch if cmd aborts | Florian Fischer | 2019-09-29 | 1 | -1/+7 |
| | | | | | | | perf stat does not propagate if the measured cmd aborts. To solve thing in a universal way we register a SIGABRT handler which creates the file aborted | ||||
| * | add perm substitution for benchmarks with empty args | Florian Fischer | 2019-09-19 | 1 | -0/+2 |
| | | |||||
| * | add raxml-ng benchmark | Florian Fischer | 2019-09-14 | 1 | -3/+3 |
| | | |||||
| * | explicitly collect binary versions | Florian Fischer | 2019-09-11 | 1 | -1/+0 |
| | | | | | | | | There is no generic way to retrieve the version of a binary. Not everyone followes GNU cli guidelines and supports "--version". The larson benchmark for example reads input from stdin when started with "larson --version" blocking the Benchmark.prepare() call. | ||||
| * | fix wrong use of benchmark.results["facts"] | Florian Fischer | 2019-09-11 | 1 | -1/+1 |
| | | |||||
| * | add build_dir member to Benchmark objects | Florian Fischer | 2019-09-11 | 1 | -0/+4 |
| | | |||||
| * | improve server benchmarks | Florian Fischer | 2019-09-11 | 1 | -20/+55 |
| | | | | | | | | servers are now dictionary with two mandatory keys: "name" and "cmd". Optional keys are: * "prepare_cmds": commands are run after a server is started * "shutdown_cmds": commands are run before a server is terminated | ||||
| * | add runs to benchmark facts | Florian Fischer | 2019-09-11 | 1 | -0/+2 |
| | | |||||
| * | fix barplot for benchmarks with empty args dict | Florian Fischer | 2019-09-04 | 1 | -3/+9 |
| | | |||||
| * | rework Benchmark.terminate_subprocess to use Popen.communicate | Florian Fischer | 2019-09-04 | 1 | -10/+12 |
| | | | | | code is inspired by the example in the python3 subprocess documentation | ||||
| * | try to get version of benchmark requirements | Florian Fischer | 2019-08-30 | 1 | -1/+3 |
| | | |||||
| * | improve benchmark code quality | Florian Fischer | 2019-08-29 | 1 | -11/+17 |
| | | |||||
| * | require a name in Benchmark.__init__ | Florian Fischer | 2019-08-29 | 1 | -15/+16 |
| | | |||||
| * | remove verbosity argument from hooks | Florian Fischer | 2019-08-27 | 1 | -9/+3 |
| | | |||||
| * | set Benchmark.result_dir in Benchmark.__init__ | Florian Fischer | 2019-08-26 | 1 | -0/+6 |
| | | |||||
| * | add error bars to barplot_single_arg | Florian Fischer | 2019-08-26 | 1 | -2/+9 |
| | | |||||
| * | only call shutdown_servers if there are servers | Florian Fischer | 2019-08-24 | 1 | -1/+2 |
| | | |||||
| * | add benchmark members to available substitutions | Florian Fischer | 2019-08-22 | 1 | -0/+2 |
| | | |||||
| * | remove duplicate check if we really should run the benchmark | Florian Fischer | 2019-08-22 | 1 | -4/+1 |
| | | |||||
| * | stop saving or calculating stats of allocators without measurements | Florian Fischer | 2019-08-22 | 1 | -3/+11 |
| | | |||||
| * | remove old not used statistic fields from results dictionary | Florian Fischer | 2019-08-22 | 1 | -2/+0 |
| | | |||||
| * | Merge branch 'lld' | Florian Fischer | 2019-08-20 | 1 | -12/+25 |
| |\ | |||||
| | * | add lld benchmark using lld provided benchmarkslld | Florian Fischer | 2019-08-20 | 1 | -13/+26 |
| | | | | | | | | | | | | | | | Benchmark changes the current working directory if self.run_dir is set befor each benchmark run. lld does not work with print_status_on_exit.so so reading and removing status is no only done if a status file is available. | ||||
| * | | fix benchmarks without measure command | Florian Fischer | 2019-08-20 | 1 | -4/+6 |
| |/ | |||||
| * | 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. | ||||
