aboutsummaryrefslogtreecommitdiff
path: root/src/benchmarks/cfrac.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/benchmarks/cfrac.py')
-rw-r--r--src/benchmarks/cfrac.py19
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.