From 8174a918ea3b7cb216bf7ea98cfdc10661b5c37d Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Wed, 6 May 2020 16:56:32 +0200 Subject: make the whole project more python idiomatic * rename src directory to allocbench * make global variable names UPPERCASE * format a lot of code using yapf * use lowercase ld_preload and ld_library_path as Allocator members * name expected Errors 'err' and don't raise a new Exception * disable some pylint messages --- Makefile | 14 +- Readme.md | 2 +- allocbench/Makefile | 45 + allocbench/__init__.py | 24 + allocbench/align_to_cl.c | 240 ++ allocbench/allocator.py | 287 ++ allocbench/allocators/__init__.py | 17 + allocbench/allocators/ba_allocators.py | 25 + allocbench/allocators/bumpptr.py | 30 + allocbench/allocators/chattymalloc.py | 52 + allocbench/allocators/glibc.py | 68 + .../glibc/glibc_2.29_no_passive_falsesharing.patch | 30 + .../glibc_2.29_no_passive_falsesharing_fancy.patch | 33 + allocbench/allocators/hoard.py | 42 + allocbench/allocators/jemalloc.py | 42 + allocbench/allocators/llalloc.py | 43 + allocbench/allocators/malt.py | 29 + allocbench/allocators/mesh.py | 41 + allocbench/allocators/mimalloc.py | 38 + allocbench/allocators/no_falsesharing.py | 26 + allocbench/allocators/paper.py | 32 + allocbench/allocators/rpmalloc.py | 41 + allocbench/allocators/scalloc.py | 56 + .../allocators/scalloc/scalloc_fix_log.patch | 35 + allocbench/allocators/snmalloc.py | 41 + allocbench/allocators/speedymalloc.py | 84 + allocbench/allocators/streamflow.py | 42 + allocbench/allocators/supermalloc.py | 43 + .../remove_faulty_aligned_alloc_test.patch | 13 + allocbench/allocators/tbbmalloc.py | 39 + allocbench/allocators/tcmalloc.py | 94 + .../tcmalloc_2.7_cacheline_exclusive.patch | 26 + .../tcmalloc_2.7_no_active_falsesharing.patch | 17 + .../tcmalloc/tcmalloc_bazel_build_so.patch | 22 + allocbench/analyse.py | 100 + allocbench/artifact.py | 163 ++ allocbench/benchmark.py | 633 +++++ allocbench/benchmarks/__init__.py | 17 + allocbench/benchmarks/blowup.py | 82 + allocbench/benchmarks/blowup/Makefile | 25 + allocbench/benchmarks/blowup/blowup.c | 115 + allocbench/benchmarks/cfrac.py | 125 + allocbench/benchmarks/cfrac/CMakeLists.txt | 18 + allocbench/benchmarks/cfrac/README.md | 5 + allocbench/benchmarks/cfrac/asm16bit.h | 39 + allocbench/benchmarks/cfrac/atop.c | 61 + allocbench/benchmarks/cfrac/cfrac.c | 268 ++ allocbench/benchmarks/cfrac/errorp.c | 27 + allocbench/benchmarks/cfrac/getopt.c | 757 ++++++ allocbench/benchmarks/cfrac/getopt.h | 125 + allocbench/benchmarks/cfrac/itop.c | 25 + allocbench/benchmarks/cfrac/ltop.c | 25 + allocbench/benchmarks/cfrac/pabs.c | 22 + allocbench/benchmarks/cfrac/padd.c | 94 + allocbench/benchmarks/cfrac/pcfrac.c | 731 +++++ allocbench/benchmarks/cfrac/pcmp.c | 68 + allocbench/benchmarks/cfrac/pconst.c | 46 + allocbench/benchmarks/cfrac/pcvt.h | 32 + allocbench/benchmarks/cfrac/pdefs.h | 138 + allocbench/benchmarks/cfrac/pdivmod.c | 315 +++ allocbench/benchmarks/cfrac/pfactor.c | 55 + allocbench/benchmarks/cfrac/pfactor.h | 62 + allocbench/benchmarks/cfrac/pfloat.c | 61 + allocbench/benchmarks/cfrac/pgcd.c | 24 + allocbench/benchmarks/cfrac/phalf.c | 36 + allocbench/benchmarks/cfrac/picmp.c | 41 + allocbench/benchmarks/cfrac/pidiv.c | 60 + allocbench/benchmarks/cfrac/pimod.c | 48 + allocbench/benchmarks/cfrac/pio.c | 165 ++ allocbench/benchmarks/cfrac/pmul.c | 84 + allocbench/benchmarks/cfrac/pneg.c | 25 + allocbench/benchmarks/cfrac/podd.c | 16 + allocbench/benchmarks/cfrac/pops.c | 339 +++ allocbench/benchmarks/cfrac/ppowmod.c | 28 + allocbench/benchmarks/cfrac/precision.h | 314 +++ allocbench/benchmarks/cfrac/primes.c | 662 +++++ allocbench/benchmarks/cfrac/primes.h | 2 + allocbench/benchmarks/cfrac/psqrt.c | 29 + allocbench/benchmarks/cfrac/psub.c | 92 + allocbench/benchmarks/cfrac/ptoa.c | 71 + allocbench/benchmarks/cfrac/ptob.c | 81 + allocbench/benchmarks/cfrac/ptou.c | 31 + allocbench/benchmarks/cfrac/seive.h | 3 + allocbench/benchmarks/cfrac/utop.c | 25 + allocbench/benchmarks/dj_trace.py | 446 ++++ allocbench/benchmarks/dj_trace/Makefile | 25 + allocbench/benchmarks/dj_trace/trace_run.c | 750 ++++++ allocbench/benchmarks/espresso.py | 125 + allocbench/benchmarks/espresso/CMakeLists.txt | 17 + allocbench/benchmarks/espresso/README.md | 22 + allocbench/benchmarks/espresso/ansi.h | 44 + allocbench/benchmarks/espresso/cofactor.c | 373 +++ allocbench/benchmarks/espresso/cols.c | 306 +++ allocbench/benchmarks/espresso/compl.c | 667 +++++ allocbench/benchmarks/espresso/contain.c | 432 +++ allocbench/benchmarks/espresso/copyright.h | 29 + allocbench/benchmarks/espresso/cubestr.c | 143 + allocbench/benchmarks/espresso/cvrin.c | 793 ++++++ allocbench/benchmarks/espresso/cvrm.c | 530 ++++ allocbench/benchmarks/espresso/cvrmisc.c | 140 + allocbench/benchmarks/espresso/cvrout.c | 588 ++++ allocbench/benchmarks/espresso/dominate.c | 90 + allocbench/benchmarks/espresso/equiv.c | 85 + allocbench/benchmarks/espresso/espresso.c | 130 + allocbench/benchmarks/espresso/espresso.h | 772 ++++++ allocbench/benchmarks/espresso/essen.c | 170 ++ allocbench/benchmarks/espresso/exact.c | 166 ++ allocbench/benchmarks/espresso/expand.c | 680 +++++ allocbench/benchmarks/espresso/gasp.c | 219 ++ allocbench/benchmarks/espresso/getopt.c | 45 + allocbench/benchmarks/espresso/gimpel.c | 98 + allocbench/benchmarks/espresso/globals.c | 67 + allocbench/benchmarks/espresso/hack.c | 632 +++++ allocbench/benchmarks/espresso/indep.c | 126 + allocbench/benchmarks/espresso/irred.c | 431 +++ allocbench/benchmarks/espresso/largest.espresso | 2812 ++++++++++++++++++++ allocbench/benchmarks/espresso/main.c | 746 ++++++ allocbench/benchmarks/espresso/main.h | 113 + allocbench/benchmarks/espresso/map.c | 106 + allocbench/benchmarks/espresso/matrix.c | 566 ++++ allocbench/benchmarks/espresso/mincov.c | 370 +++ allocbench/benchmarks/espresso/mincov.h | 2 + allocbench/benchmarks/espresso/mincov_int.h | 44 + allocbench/benchmarks/espresso/opo.c | 615 +++++ allocbench/benchmarks/espresso/pair.c | 666 +++++ allocbench/benchmarks/espresso/part.c | 114 + allocbench/benchmarks/espresso/port.h | 263 ++ allocbench/benchmarks/espresso/primes.c | 161 ++ allocbench/benchmarks/espresso/reduce.c | 249 ++ allocbench/benchmarks/espresso/regex.h | 269 ++ allocbench/benchmarks/espresso/rows.c | 306 +++ allocbench/benchmarks/espresso/set.c | 811 ++++++ allocbench/benchmarks/espresso/setc.c | 474 ++++ allocbench/benchmarks/espresso/sharp.c | 238 ++ allocbench/benchmarks/espresso/sminterf.c | 35 + allocbench/benchmarks/espresso/solution.c | 106 + allocbench/benchmarks/espresso/sparse.c | 137 + allocbench/benchmarks/espresso/sparse.h | 126 + allocbench/benchmarks/espresso/sparse_int.h | 110 + allocbench/benchmarks/espresso/stdlib.h | 38 + allocbench/benchmarks/espresso/unate.c | 432 +++ allocbench/benchmarks/espresso/utility.c | 162 ++ allocbench/benchmarks/espresso/utility.h | 93 + allocbench/benchmarks/espresso/verify.c | 184 ++ allocbench/benchmarks/falsesharing.py | 122 + allocbench/benchmarks/falsesharing/Makefile | 31 + .../benchmarks/falsesharing/cache-scratch.cc | 147 + allocbench/benchmarks/falsesharing/cache-thrash.cc | 134 + allocbench/benchmarks/falsesharing/cpuinfo.h | 202 ++ allocbench/benchmarks/falsesharing/fred.h | 97 + allocbench/benchmarks/falsesharing/timer.h | 372 +++ allocbench/benchmarks/fd.py | 90 + allocbench/benchmarks/httpd.py | 94 + allocbench/benchmarks/httpd/Makefile | 36 + allocbench/benchmarks/httpd/etc/nginx/nginx.conf | 115 + allocbench/benchmarks/httpd/etc/php/php-fpm.conf | 144 + .../benchmarks/httpd/etc/php/php-fpm.d/www.conf | 430 +++ allocbench/benchmarks/httpd/etc/php/php.ini | 1945 ++++++++++++++ allocbench/benchmarks/httpd/html/index.html | 5 + allocbench/benchmarks/httpd/html/index.php | 10 + allocbench/benchmarks/httpd/php/index.php | 1 + allocbench/benchmarks/keydb.py | 132 + allocbench/benchmarks/larson.py | 101 + allocbench/benchmarks/larson/Makefile | 25 + allocbench/benchmarks/larson/larson.cc | 754 ++++++ allocbench/benchmarks/lld.py | 300 +++ allocbench/benchmarks/loop.py | 118 + allocbench/benchmarks/loop/Makefile | 25 + allocbench/benchmarks/loop/loop.c | 45 + allocbench/benchmarks/mysql.py | 326 +++ allocbench/benchmarks/raxmlng.py | 109 + allocbench/benchmarks/rdtsc.py | 80 + allocbench/benchmarks/rdtsc/Makefile | 25 + allocbench/benchmarks/rdtsc/rdtsc.c | 106 + allocbench/benchmarks/realloc.py | 50 + allocbench/benchmarks/realloc/Makefile | 25 + allocbench/benchmarks/realloc/realloc.c | 14 + allocbench/benchmarks/redis.py | 105 + allocbench/benchmarks/redis/build.sh | 37 + allocbench/benchmarks/t_test1.py | 79 + allocbench/benchmarks/t_test1/Makefile | 35 + allocbench/benchmarks/t_test1/t-test1.c | 404 +++ allocbench/bumpptr_alloc.c | 64 + allocbench/exec.c | 35 + allocbench/facter.py | 178 ++ allocbench/globalvars.py | 66 + allocbench/malloc.c | 111 + allocbench/plots.py | 780 ++++++ allocbench/print_status_on_exit.c | 37 + allocbench/sig_handlers.c | 37 + allocbench/util.py | 183 ++ bench.py | 75 +- doc/Allocators.md | 2 +- doc/Benchmarks.md | 8 +- merge.py | 16 +- scripts/histogram.py | 29 +- scripts/paper_plots.py | 42 +- scripts/print_facts.py | 13 +- src/Makefile | 45 - src/__init__.py | 24 - src/align_to_cl.c | 240 -- src/allocator.py | 285 -- src/allocators/BA_allocators.py | 24 - src/allocators/__init__.py | 17 - src/allocators/bumpptr.py | 29 - src/allocators/chattymalloc.py | 52 - src/allocators/glibc.py | 67 - .../glibc/glibc_2.29_no_passive_falsesharing.patch | 30 - .../glibc_2.29_no_passive_falsesharing_fancy.patch | 33 - src/allocators/hoard.py | 41 - src/allocators/jemalloc.py | 41 - src/allocators/llalloc.py | 42 - src/allocators/malt.py | 28 - src/allocators/mesh.py | 40 - src/allocators/mimalloc.py | 38 - src/allocators/no_falsesharing.py | 25 - src/allocators/paper.py | 33 - src/allocators/rpmalloc.py | 40 - src/allocators/scalloc.py | 55 - src/allocators/scalloc/scalloc_fix_log.patch | 35 - src/allocators/snmalloc.py | 40 - src/allocators/speedymalloc.py | 87 - src/allocators/streamflow.py | 41 - src/allocators/supermalloc.py | 42 - .../remove_faulty_aligned_alloc_test.patch | 13 - src/allocators/tbbmalloc.py | 38 - src/allocators/tcmalloc.py | 90 - .../tcmalloc_2.7_cacheline_exclusive.patch | 26 - .../tcmalloc_2.7_no_active_falsesharing.patch | 17 - .../tcmalloc/tcmalloc_bazel_build_so.patch | 22 - src/analyse.py | 111 - src/artifact.py | 163 -- src/benchmark.py | 632 ----- src/benchmarks/__init__.py | 17 - src/benchmarks/blowup.py | 82 - src/benchmarks/blowup/Makefile | 25 - src/benchmarks/blowup/blowup.c | 115 - src/benchmarks/cfrac.py | 126 - src/benchmarks/cfrac/CMakeLists.txt | 18 - src/benchmarks/cfrac/README.md | 5 - src/benchmarks/cfrac/asm16bit.h | 39 - src/benchmarks/cfrac/atop.c | 61 - src/benchmarks/cfrac/cfrac.c | 268 -- src/benchmarks/cfrac/errorp.c | 27 - src/benchmarks/cfrac/getopt.c | 757 ------ src/benchmarks/cfrac/getopt.h | 125 - src/benchmarks/cfrac/itop.c | 25 - src/benchmarks/cfrac/ltop.c | 25 - src/benchmarks/cfrac/pabs.c | 22 - src/benchmarks/cfrac/padd.c | 94 - src/benchmarks/cfrac/pcfrac.c | 731 ----- src/benchmarks/cfrac/pcmp.c | 68 - src/benchmarks/cfrac/pconst.c | 46 - src/benchmarks/cfrac/pcvt.h | 32 - src/benchmarks/cfrac/pdefs.h | 138 - src/benchmarks/cfrac/pdivmod.c | 315 --- src/benchmarks/cfrac/pfactor.c | 55 - src/benchmarks/cfrac/pfactor.h | 62 - src/benchmarks/cfrac/pfloat.c | 61 - src/benchmarks/cfrac/pgcd.c | 24 - src/benchmarks/cfrac/phalf.c | 36 - src/benchmarks/cfrac/picmp.c | 41 - src/benchmarks/cfrac/pidiv.c | 60 - src/benchmarks/cfrac/pimod.c | 48 - src/benchmarks/cfrac/pio.c | 165 -- src/benchmarks/cfrac/pmul.c | 84 - src/benchmarks/cfrac/pneg.c | 25 - src/benchmarks/cfrac/podd.c | 16 - src/benchmarks/cfrac/pops.c | 339 --- src/benchmarks/cfrac/ppowmod.c | 28 - src/benchmarks/cfrac/precision.h | 314 --- src/benchmarks/cfrac/primes.c | 662 ----- src/benchmarks/cfrac/primes.h | 2 - src/benchmarks/cfrac/psqrt.c | 29 - src/benchmarks/cfrac/psub.c | 92 - src/benchmarks/cfrac/ptoa.c | 71 - src/benchmarks/cfrac/ptob.c | 81 - src/benchmarks/cfrac/ptou.c | 31 - src/benchmarks/cfrac/seive.h | 3 - src/benchmarks/cfrac/utop.c | 25 - src/benchmarks/dj_trace.py | 445 ---- src/benchmarks/dj_trace/Makefile | 25 - src/benchmarks/dj_trace/trace_run.c | 750 ------ src/benchmarks/espresso.py | 127 - src/benchmarks/espresso/CMakeLists.txt | 17 - src/benchmarks/espresso/README.md | 22 - src/benchmarks/espresso/ansi.h | 44 - src/benchmarks/espresso/cofactor.c | 373 --- src/benchmarks/espresso/cols.c | 306 --- src/benchmarks/espresso/compl.c | 667 ----- src/benchmarks/espresso/contain.c | 432 --- src/benchmarks/espresso/copyright.h | 29 - src/benchmarks/espresso/cubestr.c | 143 - src/benchmarks/espresso/cvrin.c | 793 ------ src/benchmarks/espresso/cvrm.c | 530 ---- src/benchmarks/espresso/cvrmisc.c | 140 - src/benchmarks/espresso/cvrout.c | 588 ---- src/benchmarks/espresso/dominate.c | 90 - src/benchmarks/espresso/equiv.c | 85 - src/benchmarks/espresso/espresso.c | 130 - src/benchmarks/espresso/espresso.h | 772 ------ src/benchmarks/espresso/essen.c | 170 -- src/benchmarks/espresso/exact.c | 166 -- src/benchmarks/espresso/expand.c | 680 ----- src/benchmarks/espresso/gasp.c | 219 -- src/benchmarks/espresso/getopt.c | 45 - src/benchmarks/espresso/gimpel.c | 98 - src/benchmarks/espresso/globals.c | 67 - src/benchmarks/espresso/hack.c | 632 ----- src/benchmarks/espresso/indep.c | 126 - src/benchmarks/espresso/irred.c | 431 --- src/benchmarks/espresso/largest.espresso | 2812 -------------------- src/benchmarks/espresso/main.c | 746 ------ src/benchmarks/espresso/main.h | 113 - src/benchmarks/espresso/map.c | 106 - src/benchmarks/espresso/matrix.c | 566 ---- src/benchmarks/espresso/mincov.c | 370 --- src/benchmarks/espresso/mincov.h | 2 - src/benchmarks/espresso/mincov_int.h | 44 - src/benchmarks/espresso/opo.c | 615 ----- src/benchmarks/espresso/pair.c | 666 ----- src/benchmarks/espresso/part.c | 114 - src/benchmarks/espresso/port.h | 263 -- src/benchmarks/espresso/primes.c | 161 -- src/benchmarks/espresso/reduce.c | 249 -- src/benchmarks/espresso/regex.h | 269 -- src/benchmarks/espresso/rows.c | 306 --- src/benchmarks/espresso/set.c | 811 ------ src/benchmarks/espresso/setc.c | 474 ---- src/benchmarks/espresso/sharp.c | 238 -- src/benchmarks/espresso/sminterf.c | 35 - src/benchmarks/espresso/solution.c | 106 - src/benchmarks/espresso/sparse.c | 137 - src/benchmarks/espresso/sparse.h | 126 - src/benchmarks/espresso/sparse_int.h | 110 - src/benchmarks/espresso/stdlib.h | 38 - src/benchmarks/espresso/unate.c | 432 --- src/benchmarks/espresso/utility.c | 162 -- src/benchmarks/espresso/utility.h | 93 - src/benchmarks/espresso/verify.c | 184 -- src/benchmarks/falsesharing.py | 126 - src/benchmarks/falsesharing/Makefile | 31 - src/benchmarks/falsesharing/cache-scratch.cc | 147 - src/benchmarks/falsesharing/cache-thrash.cc | 134 - src/benchmarks/falsesharing/cpuinfo.h | 202 -- src/benchmarks/falsesharing/fred.h | 97 - src/benchmarks/falsesharing/timer.h | 372 --- src/benchmarks/fd.py | 93 - src/benchmarks/httpd.py | 94 - src/benchmarks/httpd/Makefile | 36 - src/benchmarks/httpd/etc/nginx/nginx.conf | 115 - src/benchmarks/httpd/etc/php/php-fpm.conf | 144 - src/benchmarks/httpd/etc/php/php-fpm.d/www.conf | 430 --- src/benchmarks/httpd/etc/php/php.ini | 1945 -------------- src/benchmarks/httpd/html/index.html | 5 - src/benchmarks/httpd/html/index.php | 10 - src/benchmarks/httpd/php/index.php | 1 - src/benchmarks/keydb.py | 129 - src/benchmarks/larson.py | 101 - src/benchmarks/larson/Makefile | 25 - src/benchmarks/larson/larson.cc | 754 ------ src/benchmarks/lld.py | 300 --- src/benchmarks/loop.py | 117 - src/benchmarks/loop/Makefile | 25 - src/benchmarks/loop/loop.c | 45 - src/benchmarks/mysql.py | 325 --- src/benchmarks/raxmlng.py | 108 - src/benchmarks/rdtsc.py | 81 - src/benchmarks/rdtsc/Makefile | 25 - src/benchmarks/rdtsc/rdtsc.c | 105 - src/benchmarks/realloc.py | 50 - src/benchmarks/realloc/Makefile | 25 - src/benchmarks/realloc/realloc.c | 14 - src/benchmarks/redis.py | 105 - src/benchmarks/redis/build.sh | 37 - src/benchmarks/t_test1.py | 77 - src/benchmarks/t_test1/Makefile | 35 - src/benchmarks/t_test1/t-test1.c | 404 --- src/bumpptr_alloc.c | 64 - src/exec.c | 35 - src/facter.py | 178 -- src/globalvars.py | 66 - src/malloc.c | 111 - src/plots.py | 771 ------ src/print_status_on_exit.c | 37 - src/sig_handlers.c | 37 - src/util.py | 183 -- summarize.py | 52 +- 388 files changed, 36095 insertions(+), 36057 deletions(-) create mode 100644 allocbench/Makefile create mode 100644 allocbench/__init__.py create mode 100644 allocbench/align_to_cl.c create mode 100644 allocbench/allocator.py create mode 100644 allocbench/allocators/__init__.py create mode 100644 allocbench/allocators/ba_allocators.py create mode 100644 allocbench/allocators/bumpptr.py create mode 100644 allocbench/allocators/chattymalloc.py create mode 100644 allocbench/allocators/glibc.py create mode 100644 allocbench/allocators/glibc/glibc_2.29_no_passive_falsesharing.patch create mode 100644 allocbench/allocators/glibc/glibc_2.29_no_passive_falsesharing_fancy.patch create mode 100644 allocbench/allocators/hoard.py create mode 100644 allocbench/allocators/jemalloc.py create mode 100644 allocbench/allocators/llalloc.py create mode 100644 allocbench/allocators/malt.py create mode 100644 allocbench/allocators/mesh.py create mode 100644 allocbench/allocators/mimalloc.py create mode 100644 allocbench/allocators/no_falsesharing.py create mode 100644 allocbench/allocators/paper.py create mode 100644 allocbench/allocators/rpmalloc.py create mode 100644 allocbench/allocators/scalloc.py create mode 100644 allocbench/allocators/scalloc/scalloc_fix_log.patch create mode 100644 allocbench/allocators/snmalloc.py create mode 100644 allocbench/allocators/speedymalloc.py create mode 100644 allocbench/allocators/streamflow.py create mode 100644 allocbench/allocators/supermalloc.py create mode 100644 allocbench/allocators/supermalloc/remove_faulty_aligned_alloc_test.patch create mode 100644 allocbench/allocators/tbbmalloc.py create mode 100644 allocbench/allocators/tcmalloc.py create mode 100644 allocbench/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch create mode 100644 allocbench/allocators/tcmalloc/tcmalloc_2.7_no_active_falsesharing.patch create mode 100644 allocbench/allocators/tcmalloc/tcmalloc_bazel_build_so.patch create mode 100644 allocbench/analyse.py create mode 100644 allocbench/artifact.py create mode 100644 allocbench/benchmark.py create mode 100644 allocbench/benchmarks/__init__.py create mode 100644 allocbench/benchmarks/blowup.py create mode 100644 allocbench/benchmarks/blowup/Makefile create mode 100644 allocbench/benchmarks/blowup/blowup.c create mode 100644 allocbench/benchmarks/cfrac.py create mode 100644 allocbench/benchmarks/cfrac/CMakeLists.txt create mode 100644 allocbench/benchmarks/cfrac/README.md create mode 100644 allocbench/benchmarks/cfrac/asm16bit.h create mode 100644 allocbench/benchmarks/cfrac/atop.c create mode 100644 allocbench/benchmarks/cfrac/cfrac.c create mode 100644 allocbench/benchmarks/cfrac/errorp.c create mode 100644 allocbench/benchmarks/cfrac/getopt.c create mode 100644 allocbench/benchmarks/cfrac/getopt.h create mode 100644 allocbench/benchmarks/cfrac/itop.c create mode 100644 allocbench/benchmarks/cfrac/ltop.c create mode 100644 allocbench/benchmarks/cfrac/pabs.c create mode 100644 allocbench/benchmarks/cfrac/padd.c create mode 100644 allocbench/benchmarks/cfrac/pcfrac.c create mode 100644 allocbench/benchmarks/cfrac/pcmp.c create mode 100644 allocbench/benchmarks/cfrac/pconst.c create mode 100644 allocbench/benchmarks/cfrac/pcvt.h create mode 100644 allocbench/benchmarks/cfrac/pdefs.h create mode 100644 allocbench/benchmarks/cfrac/pdivmod.c create mode 100644 allocbench/benchmarks/cfrac/pfactor.c create mode 100644 allocbench/benchmarks/cfrac/pfactor.h create mode 100644 allocbench/benchmarks/cfrac/pfloat.c create mode 100644 allocbench/benchmarks/cfrac/pgcd.c create mode 100644 allocbench/benchmarks/cfrac/phalf.c create mode 100644 allocbench/benchmarks/cfrac/picmp.c create mode 100644 allocbench/benchmarks/cfrac/pidiv.c create mode 100644 allocbench/benchmarks/cfrac/pimod.c create mode 100644 allocbench/benchmarks/cfrac/pio.c create mode 100644 allocbench/benchmarks/cfrac/pmul.c create mode 100644 allocbench/benchmarks/cfrac/pneg.c create mode 100644 allocbench/benchmarks/cfrac/podd.c create mode 100644 allocbench/benchmarks/cfrac/pops.c create mode 100644 allocbench/benchmarks/cfrac/ppowmod.c create mode 100644 allocbench/benchmarks/cfrac/precision.h create mode 100644 allocbench/benchmarks/cfrac/primes.c create mode 100644 allocbench/benchmarks/cfrac/primes.h create mode 100644 allocbench/benchmarks/cfrac/psqrt.c create mode 100644 allocbench/benchmarks/cfrac/psub.c create mode 100644 allocbench/benchmarks/cfrac/ptoa.c create mode 100644 allocbench/benchmarks/cfrac/ptob.c create mode 100644 allocbench/benchmarks/cfrac/ptou.c create mode 100644 allocbench/benchmarks/cfrac/seive.h create mode 100644 allocbench/benchmarks/cfrac/utop.c create mode 100644 allocbench/benchmarks/dj_trace.py create mode 100644 allocbench/benchmarks/dj_trace/Makefile create mode 100644 allocbench/benchmarks/dj_trace/trace_run.c create mode 100644 allocbench/benchmarks/espresso.py create mode 100644 allocbench/benchmarks/espresso/CMakeLists.txt create mode 100644 allocbench/benchmarks/espresso/README.md create mode 100644 allocbench/benchmarks/espresso/ansi.h create mode 100644 allocbench/benchmarks/espresso/cofactor.c create mode 100644 allocbench/benchmarks/espresso/cols.c create mode 100644 allocbench/benchmarks/espresso/compl.c create mode 100644 allocbench/benchmarks/espresso/contain.c create mode 100644 allocbench/benchmarks/espresso/copyright.h create mode 100644 allocbench/benchmarks/espresso/cubestr.c create mode 100644 allocbench/benchmarks/espresso/cvrin.c create mode 100644 allocbench/benchmarks/espresso/cvrm.c create mode 100644 allocbench/benchmarks/espresso/cvrmisc.c create mode 100644 allocbench/benchmarks/espresso/cvrout.c create mode 100644 allocbench/benchmarks/espresso/dominate.c create mode 100644 allocbench/benchmarks/espresso/equiv.c create mode 100644 allocbench/benchmarks/espresso/espresso.c create mode 100644 allocbench/benchmarks/espresso/espresso.h create mode 100644 allocbench/benchmarks/espresso/essen.c create mode 100644 allocbench/benchmarks/espresso/exact.c create mode 100644 allocbench/benchmarks/espresso/expand.c create mode 100644 allocbench/benchmarks/espresso/gasp.c create mode 100644 allocbench/benchmarks/espresso/getopt.c create mode 100644 allocbench/benchmarks/espresso/gimpel.c create mode 100644 allocbench/benchmarks/espresso/globals.c create mode 100644 allocbench/benchmarks/espresso/hack.c create mode 100644 allocbench/benchmarks/espresso/indep.c create mode 100644 allocbench/benchmarks/espresso/irred.c create mode 100644 allocbench/benchmarks/espresso/largest.espresso create mode 100644 allocbench/benchmarks/espresso/main.c create mode 100644 allocbench/benchmarks/espresso/main.h create mode 100644 allocbench/benchmarks/espresso/map.c create mode 100644 allocbench/benchmarks/espresso/matrix.c create mode 100644 allocbench/benchmarks/espresso/mincov.c create mode 100644 allocbench/benchmarks/espresso/mincov.h create mode 100644 allocbench/benchmarks/espresso/mincov_int.h create mode 100644 allocbench/benchmarks/espresso/opo.c create mode 100644 allocbench/benchmarks/espresso/pair.c create mode 100644 allocbench/benchmarks/espresso/part.c create mode 100644 allocbench/benchmarks/espresso/port.h create mode 100644 allocbench/benchmarks/espresso/primes.c create mode 100644 allocbench/benchmarks/espresso/reduce.c create mode 100644 allocbench/benchmarks/espresso/regex.h create mode 100644 allocbench/benchmarks/espresso/rows.c create mode 100644 allocbench/benchmarks/espresso/set.c create mode 100644 allocbench/benchmarks/espresso/setc.c create mode 100644 allocbench/benchmarks/espresso/sharp.c create mode 100644 allocbench/benchmarks/espresso/sminterf.c create mode 100644 allocbench/benchmarks/espresso/solution.c create mode 100644 allocbench/benchmarks/espresso/sparse.c create mode 100644 allocbench/benchmarks/espresso/sparse.h create mode 100644 allocbench/benchmarks/espresso/sparse_int.h create mode 100644 allocbench/benchmarks/espresso/stdlib.h create mode 100644 allocbench/benchmarks/espresso/unate.c create mode 100644 allocbench/benchmarks/espresso/utility.c create mode 100644 allocbench/benchmarks/espresso/utility.h create mode 100644 allocbench/benchmarks/espresso/verify.c create mode 100644 allocbench/benchmarks/falsesharing.py create mode 100644 allocbench/benchmarks/falsesharing/Makefile create mode 100644 allocbench/benchmarks/falsesharing/cache-scratch.cc create mode 100644 allocbench/benchmarks/falsesharing/cache-thrash.cc create mode 100644 allocbench/benchmarks/falsesharing/cpuinfo.h create mode 100644 allocbench/benchmarks/falsesharing/fred.h create mode 100644 allocbench/benchmarks/falsesharing/timer.h create mode 100644 allocbench/benchmarks/fd.py create mode 100644 allocbench/benchmarks/httpd.py create mode 100644 allocbench/benchmarks/httpd/Makefile create mode 100644 allocbench/benchmarks/httpd/etc/nginx/nginx.conf create mode 100644 allocbench/benchmarks/httpd/etc/php/php-fpm.conf create mode 100644 allocbench/benchmarks/httpd/etc/php/php-fpm.d/www.conf create mode 100644 allocbench/benchmarks/httpd/etc/php/php.ini create mode 100644 allocbench/benchmarks/httpd/html/index.html create mode 100644 allocbench/benchmarks/httpd/html/index.php create mode 100644 allocbench/benchmarks/httpd/php/index.php create mode 100644 allocbench/benchmarks/keydb.py create mode 100644 allocbench/benchmarks/larson.py create mode 100644 allocbench/benchmarks/larson/Makefile create mode 100644 allocbench/benchmarks/larson/larson.cc create mode 100644 allocbench/benchmarks/lld.py create mode 100644 allocbench/benchmarks/loop.py create mode 100644 allocbench/benchmarks/loop/Makefile create mode 100644 allocbench/benchmarks/loop/loop.c create mode 100644 allocbench/benchmarks/mysql.py create mode 100644 allocbench/benchmarks/raxmlng.py create mode 100644 allocbench/benchmarks/rdtsc.py create mode 100644 allocbench/benchmarks/rdtsc/Makefile create mode 100644 allocbench/benchmarks/rdtsc/rdtsc.c create mode 100644 allocbench/benchmarks/realloc.py create mode 100644 allocbench/benchmarks/realloc/Makefile create mode 100644 allocbench/benchmarks/realloc/realloc.c create mode 100644 allocbench/benchmarks/redis.py create mode 100755 allocbench/benchmarks/redis/build.sh create mode 100644 allocbench/benchmarks/t_test1.py create mode 100644 allocbench/benchmarks/t_test1/Makefile create mode 100644 allocbench/benchmarks/t_test1/t-test1.c create mode 100644 allocbench/bumpptr_alloc.c create mode 100644 allocbench/exec.c create mode 100644 allocbench/facter.py create mode 100644 allocbench/globalvars.py create mode 100644 allocbench/malloc.c create mode 100644 allocbench/plots.py create mode 100644 allocbench/print_status_on_exit.c create mode 100644 allocbench/sig_handlers.c create mode 100644 allocbench/util.py delete mode 100644 src/Makefile delete mode 100644 src/__init__.py delete mode 100644 src/align_to_cl.c delete mode 100644 src/allocator.py delete mode 100644 src/allocators/BA_allocators.py delete mode 100644 src/allocators/__init__.py delete mode 100644 src/allocators/bumpptr.py delete mode 100644 src/allocators/chattymalloc.py delete mode 100644 src/allocators/glibc.py delete mode 100644 src/allocators/glibc/glibc_2.29_no_passive_falsesharing.patch delete mode 100644 src/allocators/glibc/glibc_2.29_no_passive_falsesharing_fancy.patch delete mode 100644 src/allocators/hoard.py delete mode 100644 src/allocators/jemalloc.py delete mode 100644 src/allocators/llalloc.py delete mode 100644 src/allocators/malt.py delete mode 100644 src/allocators/mesh.py delete mode 100644 src/allocators/mimalloc.py delete mode 100644 src/allocators/no_falsesharing.py delete mode 100644 src/allocators/paper.py delete mode 100644 src/allocators/rpmalloc.py delete mode 100644 src/allocators/scalloc.py delete mode 100644 src/allocators/scalloc/scalloc_fix_log.patch delete mode 100644 src/allocators/snmalloc.py delete mode 100644 src/allocators/speedymalloc.py delete mode 100644 src/allocators/streamflow.py delete mode 100644 src/allocators/supermalloc.py delete mode 100644 src/allocators/supermalloc/remove_faulty_aligned_alloc_test.patch delete mode 100644 src/allocators/tbbmalloc.py delete mode 100644 src/allocators/tcmalloc.py delete mode 100644 src/allocators/tcmalloc/tcmalloc_2.7_cacheline_exclusive.patch delete mode 100644 src/allocators/tcmalloc/tcmalloc_2.7_no_active_falsesharing.patch delete mode 100644 src/allocators/tcmalloc/tcmalloc_bazel_build_so.patch delete mode 100755 src/analyse.py delete mode 100644 src/artifact.py delete mode 100644 src/benchmark.py delete mode 100644 src/benchmarks/__init__.py delete mode 100644 src/benchmarks/blowup.py delete mode 100644 src/benchmarks/blowup/Makefile delete mode 100644 src/benchmarks/blowup/blowup.c delete mode 100644 src/benchmarks/cfrac.py delete mode 100644 src/benchmarks/cfrac/CMakeLists.txt delete mode 100644 src/benchmarks/cfrac/README.md delete mode 100644 src/benchmarks/cfrac/asm16bit.h delete mode 100644 src/benchmarks/cfrac/atop.c delete mode 100644 src/benchmarks/cfrac/cfrac.c delete mode 100644 src/benchmarks/cfrac/errorp.c delete mode 100644 src/benchmarks/cfrac/getopt.c delete mode 100644 src/benchmarks/cfrac/getopt.h delete mode 100644 src/benchmarks/cfrac/itop.c delete mode 100644 src/benchmarks/cfrac/ltop.c delete mode 100644 src/benchmarks/cfrac/pabs.c delete mode 100644 src/benchmarks/cfrac/padd.c delete mode 100644 src/benchmarks/cfrac/pcfrac.c delete mode 100644 src/benchmarks/cfrac/pcmp.c delete mode 100644 src/benchmarks/cfrac/pconst.c delete mode 100644 src/benchmarks/cfrac/pcvt.h delete mode 100644 src/benchmarks/cfrac/pdefs.h delete mode 100644 src/benchmarks/cfrac/pdivmod.c delete mode 100644 src/benchmarks/cfrac/pfactor.c delete mode 100644 src/benchmarks/cfrac/pfactor.h delete mode 100644 src/benchmarks/cfrac/pfloat.c delete mode 100644 src/benchmarks/cfrac/pgcd.c delete mode 100644 src/benchmarks/cfrac/phalf.c delete mode 100644 src/benchmarks/cfrac/picmp.c delete mode 100644 src/benchmarks/cfrac/pidiv.c delete mode 100644 src/benchmarks/cfrac/pimod.c delete mode 100644 src/benchmarks/cfrac/pio.c delete mode 100644 src/benchmarks/cfrac/pmul.c delete mode 100644 src/benchmarks/cfrac/pneg.c delete mode 100644 src/benchmarks/cfrac/podd.c delete mode 100644 src/benchmarks/cfrac/pops.c delete mode 100644 src/benchmarks/cfrac/ppowmod.c delete mode 100644 src/benchmarks/cfrac/precision.h delete mode 100644 src/benchmarks/cfrac/primes.c delete mode 100644 src/benchmarks/cfrac/primes.h delete mode 100644 src/benchmarks/cfrac/psqrt.c delete mode 100644 src/benchmarks/cfrac/psub.c delete mode 100644 src/benchmarks/cfrac/ptoa.c delete mode 100644 src/benchmarks/cfrac/ptob.c delete mode 100644 src/benchmarks/cfrac/ptou.c delete mode 100644 src/benchmarks/cfrac/seive.h delete mode 100644 src/benchmarks/cfrac/utop.c delete mode 100644 src/benchmarks/dj_trace.py delete mode 100644 src/benchmarks/dj_trace/Makefile delete mode 100644 src/benchmarks/dj_trace/trace_run.c delete mode 100644 src/benchmarks/espresso.py delete mode 100644 src/benchmarks/espresso/CMakeLists.txt delete mode 100644 src/benchmarks/espresso/README.md delete mode 100644 src/benchmarks/espresso/ansi.h delete mode 100644 src/benchmarks/espresso/cofactor.c delete mode 100644 src/benchmarks/espresso/cols.c delete mode 100644 src/benchmarks/espresso/compl.c delete mode 100644 src/benchmarks/espresso/contain.c delete mode 100644 src/benchmarks/espresso/copyright.h delete mode 100644 src/benchmarks/espresso/cubestr.c delete mode 100644 src/benchmarks/espresso/cvrin.c delete mode 100644 src/benchmarks/espresso/cvrm.c delete mode 100644 src/benchmarks/espresso/cvrmisc.c delete mode 100644 src/benchmarks/espresso/cvrout.c delete mode 100644 src/benchmarks/espresso/dominate.c delete mode 100644 src/benchmarks/espresso/equiv.c delete mode 100644 src/benchmarks/espresso/espresso.c delete mode 100644 src/benchmarks/espresso/espresso.h delete mode 100644 src/benchmarks/espresso/essen.c delete mode 100644 src/benchmarks/espresso/exact.c delete mode 100644 src/benchmarks/espresso/expand.c delete mode 100644 src/benchmarks/espresso/gasp.c delete mode 100644 src/benchmarks/espresso/getopt.c delete mode 100644 src/benchmarks/espresso/gimpel.c delete mode 100644 src/benchmarks/espresso/globals.c delete mode 100644 src/benchmarks/espresso/hack.c delete mode 100644 src/benchmarks/espresso/indep.c delete mode 100644 src/benchmarks/espresso/irred.c delete mode 100644 src/benchmarks/espresso/largest.espresso delete mode 100644 src/benchmarks/espresso/main.c delete mode 100644 src/benchmarks/espresso/main.h delete mode 100644 src/benchmarks/espresso/map.c delete mode 100644 src/benchmarks/espresso/matrix.c delete mode 100644 src/benchmarks/espresso/mincov.c delete mode 100644 src/benchmarks/espresso/mincov.h delete mode 100644 src/benchmarks/espresso/mincov_int.h delete mode 100644 src/benchmarks/espresso/opo.c delete mode 100644 src/benchmarks/espresso/pair.c delete mode 100644 src/benchmarks/espresso/part.c delete mode 100644 src/benchmarks/espresso/port.h delete mode 100644 src/benchmarks/espresso/primes.c delete mode 100644 src/benchmarks/espresso/reduce.c delete mode 100644 src/benchmarks/espresso/regex.h delete mode 100644 src/benchmarks/espresso/rows.c delete mode 100644 src/benchmarks/espresso/set.c delete mode 100644 src/benchmarks/espresso/setc.c delete mode 100644 src/benchmarks/espresso/sharp.c delete mode 100644 src/benchmarks/espresso/sminterf.c delete mode 100644 src/benchmarks/espresso/solution.c delete mode 100644 src/benchmarks/espresso/sparse.c delete mode 100644 src/benchmarks/espresso/sparse.h delete mode 100644 src/benchmarks/espresso/sparse_int.h delete mode 100644 src/benchmarks/espresso/stdlib.h delete mode 100644 src/benchmarks/espresso/unate.c delete mode 100644 src/benchmarks/espresso/utility.c delete mode 100644 src/benchmarks/espresso/utility.h delete mode 100644 src/benchmarks/espresso/verify.c delete mode 100644 src/benchmarks/falsesharing.py delete mode 100644 src/benchmarks/falsesharing/Makefile delete mode 100644 src/benchmarks/falsesharing/cache-scratch.cc delete mode 100644 src/benchmarks/falsesharing/cache-thrash.cc delete mode 100644 src/benchmarks/falsesharing/cpuinfo.h delete mode 100644 src/benchmarks/falsesharing/fred.h delete mode 100644 src/benchmarks/falsesharing/timer.h delete mode 100644 src/benchmarks/fd.py delete mode 100644 src/benchmarks/httpd.py delete mode 100644 src/benchmarks/httpd/Makefile delete mode 100644 src/benchmarks/httpd/etc/nginx/nginx.conf delete mode 100644 src/benchmarks/httpd/etc/php/php-fpm.conf delete mode 100644 src/benchmarks/httpd/etc/php/php-fpm.d/www.conf delete mode 100644 src/benchmarks/httpd/etc/php/php.ini delete mode 100644 src/benchmarks/httpd/html/index.html delete mode 100644 src/benchmarks/httpd/html/index.php delete mode 100644 src/benchmarks/httpd/php/index.php delete mode 100644 src/benchmarks/keydb.py delete mode 100644 src/benchmarks/larson.py delete mode 100644 src/benchmarks/larson/Makefile delete mode 100644 src/benchmarks/larson/larson.cc delete mode 100644 src/benchmarks/lld.py delete mode 100644 src/benchmarks/loop.py delete mode 100644 src/benchmarks/loop/Makefile delete mode 100644 src/benchmarks/loop/loop.c delete mode 100644 src/benchmarks/mysql.py delete mode 100644 src/benchmarks/raxmlng.py delete mode 100644 src/benchmarks/rdtsc.py delete mode 100644 src/benchmarks/rdtsc/Makefile delete mode 100644 src/benchmarks/rdtsc/rdtsc.c delete mode 100644 src/benchmarks/realloc.py delete mode 100644 src/benchmarks/realloc/Makefile delete mode 100644 src/benchmarks/realloc/realloc.c delete mode 100644 src/benchmarks/redis.py delete mode 100755 src/benchmarks/redis/build.sh delete mode 100644 src/benchmarks/t_test1.py delete mode 100644 src/benchmarks/t_test1/Makefile delete mode 100644 src/benchmarks/t_test1/t-test1.c delete mode 100644 src/bumpptr_alloc.c delete mode 100644 src/exec.c delete mode 100644 src/facter.py delete mode 100644 src/globalvars.py delete mode 100644 src/malloc.c delete mode 100644 src/plots.py delete mode 100644 src/print_status_on_exit.c delete mode 100644 src/sig_handlers.c delete mode 100644 src/util.py diff --git a/Makefile b/Makefile index 96bc96c..f20c910 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,9 @@ -PYTHONFILES = $(shell find src/ -name "*.py") +SRCDIR = allocbench -MAKEFILES = $(shell dirname $(shell find src/ -name Makefile)) -CMAKELISTS = $(shell dirname $(shell find src/ -name CMakeLists.txt)) +PYTHONFILES = $(shell find $(SRCDIR)/ -name "*.py") + +MAKEFILES = $(shell dirname $(shell find $(SRCDIR)/ -name Makefile)) +CMAKELISTS = $(shell dirname $(shell find $(SRCDIR)/ -name CMakeLists.txt)) OBJDIR = $(PWD)/build @@ -22,7 +24,7 @@ export LDXXFLAGS = $(LDFLAGS) -static-libstdc++ all: $(OBJDIR)/ccinfo $(MAKEFILES) $(CMAKELISTS) $(CMAKELISTS): - $(eval BENCHDIR=$(OBJDIR)$(shell echo $@ | sed s/src//)) + $(eval BENCHDIR=$(OBJDIR)$(shell echo $@ | sed s/$(SRCDIR)//)) @if test \( ! \( -d $(BENCHDIR) \) \) ;then mkdir -p $(BENCHDIR);fi ifneq (,$(findstring s,$(MAKEFLAGS))) cd $(BENCHDIR); cmake $(PWD)/$@ >/dev/null @@ -32,9 +34,9 @@ endif $(MAKE) -C $(BENCHDIR) $(MAKEFILES): - $(eval BENCHDIR=$(OBJDIR)$(shell echo $@ | sed s/src//)) + $(eval BENCHDIR=$(OBJDIR)$(shell echo $@ | sed s/$(SRCDIR)//)) @if test \( ! \( -d $(BENCHDIR) \) \) ;then mkdir -p $(BENCHDIR);fi - $(MAKE) -C $@ OBJDIR=$(OBJDIR)$(shell echo $@ | sed s/src//) + $(MAKE) -C $@ OBJDIR=$(OBJDIR)$(shell echo $@ | sed s/$(SRCDIR)//) $(OBJDIR)/ccinfo: | $(OBJDIR) $(CC) -v 2> $@ diff --git a/Readme.md b/Readme.md index 4061d83..a2247aa 100644 --- a/Readme.md +++ b/Readme.md @@ -99,7 +99,7 @@ It groups the included allocators into categories to produce readable and not ex runs only the loop benchmark for all included allocators and will put its results in `$PWD/results/$HOSTNAME/