Branch: Tag:

2013-06-12

2013-06-12 20:04:24 by Arne Goedeke <el@laramies.com>

Added new block allocator. It dramatically speeds up free, when
allocating many blocks and deallocation happens non linearly.

10:   #define TYPEP(ID,NAME,TYPE) PMOD_EXPORT void ID(INT32 args);      #include "callback.h" - #include "block_alloc_h.h" +       /* Weak flags for arrays, multisets and mappings. 1 is avoided for    * compatibility reasons. */
207:    struct pike_list_node *prev;    struct svalue val;   }; - BLOCK_ALLOC_FILL_PAGES(pike_list_node, 4); + void count_memory_in_pike_list_nodes(size_t * n, size_t * s); + void free_all_pike_list_node_blocks();   PMOD_EXPORT void free_list_node(struct pike_list_node *node);   PMOD_EXPORT void unlink_list_node(struct pike_list_node *n);   PMOD_EXPORT void prepend_list_node(struct pike_list_node *node,