aboutsummaryrefslogtreecommitdiff
path: root/src/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* speedup bumpptr_allocFlorian Fischer2019-11-121-2/+2
| | | | | Don't use three individual expensive TSD variables. Externalize and inline bump_up.
* don't use bc to calculate MEMSIZE for our allocatorsFlorian Fischer2019-11-061-1/+1
|
* catch SIGSEGV as well; register sa_handlers only if its SIG_DLF beforeFlorian Fischer2019-09-291-2/+2
|
* catch if cmd abortsFlorian Fischer2019-09-291-1/+5
| | | | | | 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 first speedymalloc draftFlorian Fischer2019-09-051-1/+5
| | | | speedymalloc is a thread-local cached bump pointer allocator
* readd chattymallocFlorian Fischer2019-08-221-14/+15
|
* use LD_LIBRARY_PATH for glibc instead of calling its loaderFlorian Fischer2019-08-121-2/+2
| | | | | | | | 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 chainFlorian Fischer2019-08-111-1/+5
| | | | | | | | | | | | | | 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.
* improve bumpptr_allocFlorian Fischer2019-08-111-5/+9
| | | | | Return always 16 Byte aligned blocks and mmap the whole available memory reported by free -t per thread.
* add bumptr allocator implementationFlorian Fischer2019-04-281-2/+9
|
* s/target/allocator/ and remove analyse featureFlorian Fischer2019-02-081-5/+1
| | | | Use systemwide installed allocators by default
* rework build system #2: call make before executing any benchmarkFlorian Fischer2019-02-021-0/+2
| | | | | | Make scans the project directory for Makefiles and executes them. The targets should be build by the new targets/Makefile. All included Makefiles are now "quiet" by default.
* rework build system #1Florian Fischer2019-02-011-0/+27
each benchmark has its own Makefile which must put it's binaries into OBJDIR which is added to the PATH during execution.