From 09f67c171fd997774870e4ec66957c348e19ca74 Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Thu, 5 Sep 2019 23:08:11 +0200 Subject: add first speedymalloc draft speedymalloc is a thread-local cached bump pointer allocator --- src/allocators/speedymalloc.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/allocators/speedymalloc.py (limited to 'src/allocators') diff --git a/src/allocators/speedymalloc.py b/src/allocators/speedymalloc.py new file mode 100644 index 0000000..9df3d7d --- /dev/null +++ b/src/allocators/speedymalloc.py @@ -0,0 +1,29 @@ +# Copyright 2018-2019 Florian Fischer +# +# This file is part of allocbench. +# +# allocbench is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# allocbench is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with allocbench. If not, see . + +"""Bumpptr allocator + +The bumpptr allocator makes the biggest possible tradeoff between speed and +memory in speeds favor. Memory is mmapped per thread and never freed. +See src/bumpptr.c for the actual implementation. +""" + +import os +from src.allocator import Allocator, BUILDDIR + +speedymalloc = Allocator("speedymalloc", LD_PRELOAD=os.path.join(BUILDDIR, "speedymalloc.so"), + color="xkcd:dark") -- cgit v1.2.3