emeryberger / Hoard

The Hoard Memory Allocator: A Fast, Scalable, and Memory-efficient Malloc for Linux, Windows, and Mac.
http://www.hoard.org
Apache License 2.0
1.09k stars 127 forks source link

WIP: hacky performance improvements around inlining #54

Closed bpowers closed 4 years ago

bpowers commented 4 years ago

in addition, I added 3 always inline attributes in Heap-Layers:

diff --git a/wrappers/wrapper.cpp b/wrappers/wrapper.cpp
index 18b2a88..f0240a1 100644
--- a/wrappers/wrapper.cpp
+++ b/wrappers/wrapper.cpp
@@ -128,9 +128,9 @@ extern "C" {

 #include <stdio.h>

-extern "C" void MYCDECL CUSTOM_FREE(void *);
-extern "C" void * MYCDECL CUSTOM_MALLOC(size_t);
-extern "C" void * MYCDECL CUSTOM_CALLOC(size_t nelem, size_t elsize);
+extern "C" void __attribute__((always_inline)) MYCDECL CUSTOM_FREE(void *);
+extern "C" void * __attribute__((always_inline)) MYCDECL CUSTOM_MALLOC(size_t);
+extern "C" void * __attribute__((always_inline)) MYCDECL CUSTOM_CALLOC(size_t nelem, size_t elsize);

 extern "C" void MYCDECL CUSTOM_FREE (void * ptr)
 {