forked from mirror/toddcox-faster
d36b03b4f9e88294d37c410075b17cdef08f7f29
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.
Description
A new (basic) implementation of the Todd-Coxeter algorithm for Coxeter groups in C++ that beats GAP.
Languages
C++
97.7%
CMake
2.3%