| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | use logging in mysql benchmarklogging | Florian Fischer | 2019-08-12 | 1 | -12/+13 |
| | | |||||
| * | introduce logging to allocbench | Florian Fischer | 2019-08-12 | 1 | -48/+68 |
| | | | | | | Introduce root logger "allocbench" and add custom level "Status". Change print_* to logger.* calls. | ||||
| * | don't try to prefix cmd with is already an absolute path | Florian Fischer | 2019-08-12 | 1 | -0/+3 |
| | | |||||
| * | load benchmarks using importlib instead of eval | Florian Fischer | 2019-08-12 | 1 | -1/+5 |
| | | |||||
| * | add requirement check for matplotlib and python version >= 3.6 | Florian Fischer | 2019-08-12 | 1 | -5/+16 |
| | | |||||
| * | 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 | 2 | -4/+4 |
| | | | | | | | | | | 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. | ||||
| * | fix scalloc definition | Florian Fischer | 2019-08-12 | 1 | -1/+1 |
| | | |||||
| * | Minor changes on TODO | Florian Schmaus | 2019-08-12 | 1 | -1/+3 |
| | | |||||
| * | Use "git reset --hard" instead of "git stash" | Florian Schmaus | 2019-08-12 | 7 | -7/+7 |
| | | |||||
| * | glibc: Use release tag instead of release branch | Florian Schmaus | 2019-08-12 | 1 | -1/+1 |
| | | |||||
| * | Add TODO | Florian Schmaus | 2019-08-12 | 1 | -0/+10 |
| | | |||||
| * | Use f-strings | Florian Schmaus | 2019-08-12 | 1 | -1/+1 |
| | | |||||
| * | Add GitAllocatorSources draft | Florian Schmaus | 2019-08-12 | 1 | -0/+4 |
| | | |||||
| * | Introduce checkDependenciesAndPreconditions() | Florian Schmaus | 2019-08-12 | 1 | -0/+8 |
| | | |||||
| * | Whitespace fix in bench.py | Florian Schmaus | 2019-08-12 | 1 | -1/+1 |
| | | |||||
| * | Improve scalloc error message | Florian Schmaus | 2019-08-12 | 1 | -2/+5 |
| | | |||||
| * | improve exec | Florian Fischer | 2019-08-12 | 1 | -2/+6 |
| | | | | | | fix usage print message if exec failed and exit with exit code 1 | ||||
| * | use absolut path of benchmark binary | Florian Fischer | 2019-08-12 | 1 | -1/+2 |
| | | |||||
| * | add LD_LIBRARY_PATH to system installed allocators | Florian Fischer | 2019-08-12 | 1 | -4/+6 |
| | | |||||
| * | add malloc_stats | Florian Fischer | 2019-08-12 | 1 | -0/+5 |
| | | |||||
| * | use LD_LIBRARY_PATH for glibc instead of calling its loader | Florian Fischer | 2019-08-12 | 6 | -25/+49 |
| | | | | | | | | | 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. | ||||
| * | add patch info to malloc_stats | Florian Fischer | 2019-08-11 | 5 | -49/+65 |
| | | |||||
| * | Rework exec chain | Florian Fischer | 2019-08-11 | 3 | -19/+40 |
| | | | | | | | | | | | | | | | 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. | ||||
| * | fix and adjust to mysql installations on Ubuntu 18.04 | Florian Fischer | 2019-08-11 | 1 | -7/+8 |
| | | |||||
| * | use new location of bumpptr | Florian Fischer | 2019-08-11 | 1 | -1/+1 |
| | | |||||
| * | except OSError: /usr/sbin/mysqld: cannot dynamically load executable | Florian Fischer | 2019-08-11 | 1 | -1/+5 |
| | | |||||
| * | check if vm.overcommit_memory is set before building scalloc | Florian Fischer | 2019-08-11 | 1 | -0/+8 |
| | | | | | | | | Scalloc checks if it is allowed to overcommit memory at runtime and aborts. Calling abort() does not set an exit code and therefore does not trigger allocbenchs failure handling. To prevent crashing at runtime we now fail early. | ||||
| * | make bump pointer allocator available through src.allocators.bumpptr | Florian Fischer | 2019-08-11 | 3 | -3/+5 |
| | | |||||
| * | improve bumpptr_alloc | Florian Fischer | 2019-08-11 | 2 | -7/+22 |
| | | | | | | Return always 16 Byte aligned blocks and mmap the whole available memory reported by free -t per thread. | ||||
| * | don't copy benchmark.allocators again | Florian Fischer | 2019-08-10 | 1 | -6/+0 |
| | | |||||
| * | be more carefull with default entries in Benchmark.results | Florian Fischer | 2019-08-10 | 1 | -10/+18 |
| | | |||||
| * | print malloc_stats to stdout | Florian Fischer | 2019-08-10 | 1 | -1/+4 |
| | | |||||
| * | fix Allocator.build() if sources are None | Florian Fischer | 2019-08-02 | 1 | -6/+6 |
| | | |||||
| * | add facts to dataref export | Florian Fischer | 2019-07-31 | 6 | -30/+54 |
| | | |||||
| * | add comments and error messages | Florian Fischer | 2019-07-31 | 1 | -15/+23 |
| | | |||||
| * | use libtbbmalloc_proxy which overwrites malloc | Florian Fischer | 2019-07-17 | 1 | -1/+1 |
| | | |||||
| * | fix tbbmalloc definition | Florian Fischer | 2019-07-03 | 1 | -1/+1 |
| | | |||||
| * | add barrier to larson benchmark | Florian Fischer | 2019-07-01 | 1 | -0/+10 |
| | | | | | | | The barrier prevents worker thread from doing work before the main thread starts the timing. This behaviour was mentioned in the paper: Mostly Lock-Free Malloc by Dave Dice, Alex Garthwaite | ||||
| * | add default colors to included allocators | Florian Fischer | 2019-07-01 | 10 | -14/+19 |
| | | |||||
| * | add mimalloc definition | Florian Fischer | 2019-06-27 | 2 | -1/+27 |
| | | |||||
| * | fix realloc micro benchmark for allocators returning null for realloc(ptr, 0) | Florian Fischer | 2019-06-27 | 2 | -4/+3 |
| | | |||||
| * | update Readme | Florian Fischer | 2019-06-26 | 1 | -26/+31 |
| | | |||||
| * | add option to exclude benchmarks | Florian Fischer | 2019-06-24 | 1 | -0/+4 |
| | | |||||
| * | add tbbmalloc definition | Florian Fischer | 2019-06-24 | 2 | -1/+26 |
| | | |||||
| * | fix all allocators collection | Florian Fischer | 2019-06-24 | 1 | -10/+3 |
| | | |||||
| * | add mesh and lockless_allocator definitions | Florian Fischer | 2019-06-24 | 4 | -2/+50 |
| | | |||||
| * | give each allocator a unique color | Florian Fischer | 2019-06-24 | 1 | -0/+11 |
| | | |||||
| * | rework allocator definitions #2 | Florian Fischer | 2019-06-24 | 14 | -156/+167 |
| | | | | | | | | | bench.py no evals only if argument to -a is file path. Otherwise it will check if "arg".py is found in src/allocators/ then it imports it. Collection definitions must export a iterable member called allocators. Allocator definitions must export a member named "arg". | ||||
| * | apply some flake8 hints | Florian Fischer | 2019-06-19 | 11 | -117/+107 |
| | | |||||
