aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* add debugging benchmark nopnopFlorian Fischer2019-08-211-0/+20
|
* add list of included allocators to docsFlorian Fischer2019-08-211-1/+17
|
* add snmalloc definitionFlorian Fischer2019-08-211-0/+25
|
* simplify and add requirements to mimallocFlorian Fischer2019-08-211-1/+2
|
* build Hoard using clangFlorian Fischer2019-08-212-17/+5
|
* use default optimisation flags for tcmalloc, jemalloc and HoardFlorian Fischer2019-08-214-9/+6
|
* fix broken build command for tbbmallocFlorian Fischer2019-08-201-1/+1
|
* Merge branch 'lld'Florian Fischer2019-08-203-12/+125
|\
| * add lld benchmark using lld provided benchmarkslldFlorian Fischer2019-08-203-13/+126
| | | | | | | | | | | | | | 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.
* | mention larson / krishnan paper in larson benchmarkFlorian Fischer2019-08-201-0/+2
| |
* | use fewer maximal sizes to speedup benchmarkFlorian Fischer2019-08-201-1/+1
| | | | | | | | | | Larson and Krishnan use only 1000 Byte as maximal size in their Paper "Memory Allocation for Long-Running Server Applications"
* | fix benchmarks without measure commandFlorian Fischer2019-08-202-5/+7
| |
* | fix tbbFlorian Fischer2019-08-201-1/+1
|/ | | | | tbb is build for each installed kernel version resulting in multiple libraries.
* fix name of loop tex tableFlorian Fischer2019-08-151-1/+1
|
* improve mysql benchmark definitionFlorian Fischer2019-08-141-19/+26
|
* Use unlikely in bumpptr alloctorFlorian Schmaus2019-08-131-1/+4
|
* don't try to prefix cmd with is already an absolute pathFlorian Fischer2019-08-121-0/+3
|
* load benchmarks using importlib instead of evalFlorian Fischer2019-08-121-1/+5
|
* add requirement check for matplotlib and python version >= 3.6Florian Fischer2019-08-121-5/+16
|
* let the loader load the benchmark not execFlorian Fischer2019-08-121-1/+2
| | | | | If the loader calls build/exec the execvp from build/exec is handled by the system loader.
* fix benchmarks for any glibc versionFlorian Fischer2019-08-122-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 definitionFlorian Fischer2019-08-121-1/+1
|
* Minor changes on TODOFlorian Schmaus2019-08-121-1/+3
|
* Use "git reset --hard" instead of "git stash"Florian Schmaus2019-08-127-7/+7
|
* glibc: Use release tag instead of release branchFlorian Schmaus2019-08-121-1/+1
|
* Add TODOFlorian Schmaus2019-08-121-0/+10
|
* Use f-stringsFlorian Schmaus2019-08-121-1/+1
|
* Add GitAllocatorSources draftFlorian Schmaus2019-08-121-0/+4
|
* Introduce checkDependenciesAndPreconditions()Florian Schmaus2019-08-121-0/+8
|
* Whitespace fix in bench.pyFlorian Schmaus2019-08-121-1/+1
|
* Improve scalloc error messageFlorian Schmaus2019-08-121-2/+5
|
* improve execFlorian Fischer2019-08-121-2/+6
| | | | | fix usage print message if exec failed and exit with exit code 1
* use absolut path of benchmark binaryFlorian Fischer2019-08-121-1/+2
|
* add LD_LIBRARY_PATH to system installed allocatorsFlorian Fischer2019-08-121-4/+6
|
* add malloc_statsFlorian Fischer2019-08-121-0/+5
|
* use LD_LIBRARY_PATH for glibc instead of calling its loaderFlorian Fischer2019-08-126-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_statsFlorian Fischer2019-08-115-49/+65
|
* Rework exec chainFlorian Fischer2019-08-113-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.04Florian Fischer2019-08-111-7/+8
|
* use new location of bumpptrFlorian Fischer2019-08-111-1/+1
|
* except OSError: /usr/sbin/mysqld: cannot dynamically load executableFlorian Fischer2019-08-111-1/+5
|
* check if vm.overcommit_memory is set before building scallocFlorian Fischer2019-08-111-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.bumpptrFlorian Fischer2019-08-113-3/+5
|
* improve bumpptr_allocFlorian Fischer2019-08-112-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 againFlorian Fischer2019-08-101-6/+0
|
* be more carefull with default entries in Benchmark.resultsFlorian Fischer2019-08-101-10/+18
|
* print malloc_stats to stdoutFlorian Fischer2019-08-101-1/+4
|
* fix Allocator.build() if sources are NoneFlorian Fischer2019-08-021-6/+6
|
* add facts to dataref exportFlorian Fischer2019-07-316-30/+54
|
* add comments and error messagesFlorian Fischer2019-07-311-15/+23
|