diff options
| author | Florian Fischer <florian.fl.fischer@fau.de> | 2019-10-14 20:44:08 +0200 |
|---|---|---|
| committer | Florian Fischer <florian.fl.fischer@fau.de> | 2019-10-14 20:44:08 +0200 |
| commit | ea81dfa7929ba83bf4d24e1be34b8384716a637e (patch) | |
| tree | 52ce6b7061f9f9c2e1c8d0ca5ca1343d1f0354e4 /src/benchmarks/cfrac.py | |
| parent | 8ca8135f8302a1caafecccdba0671732bb5a3077 (diff) | |
| download | allocbench-ea81dfa7929ba83bf4d24e1be34b8384716a637e.tar.gz allocbench-ea81dfa7929ba83bf4d24e1be34b8384716a637e.zip | |
add documentation for loop, cfrac, espresso
Diffstat (limited to 'src/benchmarks/cfrac.py')
| -rw-r--r-- | src/benchmarks/cfrac.py | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/src/benchmarks/cfrac.py b/src/benchmarks/cfrac.py index 9438501..2829b77 100644 --- a/src/benchmarks/cfrac.py +++ b/src/benchmarks/cfrac.py @@ -15,12 +15,38 @@ # You should have received a copy of the GNU General Public License # along with allocbench. If not, see <http://www.gnu.org/licenses/>. -""" Definition of the cfrac benchmark""" +"""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). + +Top 10 allocation sizes 1.00% of all allocations +1. 18 B occurred 8172763 times +2. 28 B occurred 3781894 times +3. 10 B occurred 2989673 times +4. 26 B occurred 2566937 times +5. 20 B occurred 2420915 times +6. 16 B occurred 1168569 times +7. 12 B occurred 203177 times +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 + +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. +""" from src.benchmark import Benchmark class BenchmarkCfrac(Benchmark): - """TODO""" + """Definition of the cfrac benchmark""" def __init__(self): name = "cfrac" |
