aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* 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
|
* use libtbbmalloc_proxy which overwrites mallocFlorian Fischer2019-07-171-1/+1
|
* fix tbbmalloc definitionFlorian Fischer2019-07-031-1/+1
|
* add barrier to larson benchmarkFlorian Fischer2019-07-011-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 allocatorsFlorian Fischer2019-07-0110-14/+19
|
* add mimalloc definitionFlorian Fischer2019-06-272-1/+27
|
* fix realloc micro benchmark for allocators returning null for realloc(ptr, 0)Florian Fischer2019-06-272-4/+3
|
* update ReadmeFlorian Fischer2019-06-261-26/+31
|
* add option to exclude benchmarksFlorian Fischer2019-06-241-0/+4
|
* add tbbmalloc definitionFlorian Fischer2019-06-242-1/+26
|
* fix all allocators collectionFlorian Fischer2019-06-241-10/+3
|
* add mesh and lockless_allocator definitionsFlorian Fischer2019-06-244-2/+50
|
* give each allocator a unique colorFlorian Fischer2019-06-241-0/+11
|