forked from mirror/toddcox-faster
Profiling revealed significant performance overhead in using std::shared_ptr for lst. There is even significant overhead in using new for lst. Using pointers to blocks of pre-allocated memory for lst drastically improves performance (about 50%). E7 and E8 show this well, since they allocate many lst pointers. With shared_ptr: E7 ~3.3s, B8 ~21s. With BlockAllocator: E7 ~1.6s, B8 ~11s.