diff options
Diffstat (limited to 'src/benchmarks/cfrac.py')
| -rw-r--r-- | src/benchmarks/cfrac.py | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/benchmarks/cfrac.py b/src/benchmarks/cfrac.py index 2829b77..0a0a8d5 100644 --- a/src/benchmarks/cfrac.py +++ b/src/benchmarks/cfrac.py @@ -16,10 +16,15 @@ # along with allocbench. If not, see <http://www.gnu.org/licenses/>. """cfrac is a single threaded implementation of the continued fraction factorization algorithm. -It uses many small short-lived allocations. Factorizing 175451865205073170563711388363274837927895 -results in 43044885 allocator calls (malloc: 21522444, free: 21522441). +It uses many small short-lived allocations. +Factorizing 175451865205073170563711388363274837927895 results in +43044885 allocator calls (malloc: 21522444, free: 21522441). -Top 10 allocation sizes 1.00% of all allocations +Allocator portion of total cycles measured using perf record/report: +malloc 4.33% +free 7.74% + +Top 10 allocation sizes 99.95% of all allocations 1. 18 B occurred 8172763 times 2. 28 B occurred 3781894 times 3. 10 B occurred 2989673 times @@ -30,14 +35,16 @@ Top 10 allocation sizes 1.00% of all allocations 8. 14 B occurred 170914 times 9. 30 B occurred 21149 times 10. 44 B occurred 15922 times -allocations <= 64 21522432 -allocations <= 1024 21522436 -allocations <= 4096 21522443 + +allocations <= 64 21522432 100.00% +allocations <= 1024 21522436 100.00% +allocations <= 4096 21522443 100.00% Histogram of sizes: 0 - 15 3363764 15.63% ******* 16 - 31 18132778 84.25% ****************************************** 32 - 47 25888 0.12% +... The relevant non functional allocator properties are the raw speed of the API function as well as memory placement strategies with good data locality. |
