2 ms·
Vespa, using its own malloc: https://github.com/vespa-engine/vespa/tree/master/vespamalloc https://github.com/vespa-engine/vespa/tree/master/vespamallo...
by sanxiyn 9y ago
Vespa, using its own malloc: https://github.com/vespa-engine/vespa/tree/master/vespamalloc https://github.com/vespa-engine/vespa/tree/master/vespamallo...
- andreer 9y agoThe reason is simply, for performance. To avoid having to go to the kernel every time we need to allocate memory for a query, and avoid having to clear memory on free/reuse. It is made for Vespa, but also used for other programs. Similar in purpose to Google's TCMalloc: http://goog-perftools.sourceforge.net/doc/tcmalloc.html http://goog-perftools.sourceforge.net/doc/tcmalloc.html
- sanxiyn 9y agoHow is it better than TCMalloc? (If it isn't, it probably should be replaced by TCMalloc.)
- andreer 9y agoIn our tests, vespamalloc has simply been faster. I don't know how in-depth the analysis has been as to why, but obviously vespamalloc is written and tuned for Vespa so that is a likely factor.