Open BurningEnlightenment opened 1 year ago
Hello, I'm the maintainer for this repo.
I just wanted to let you know that we've seen your issue.
Currently, I'm on a bout of parental leave so I won't be able to address this issue right now, but we've started discussing it internally.
I really like the implementation quality of this library. However, consider the following test program:
and observe the compile time with different preprocessor configurations (after prewarming the filesystem cache):
0.033s
-DSTD_UNORDERED
0.170s
-DBST_UNORDERED_FWD
0.517s
-DBST_UNORDERED
0.782s
System information:
The issue seems to be that
unordered_flat_map
always includesboost/container_hash/hash.hpp
which in turn includes large parts of the standard library (<string>
,<complex> => <sstream>
,variant
).It seems somewhat unfortunate to me that the compile time is increased that much, especially since the
unordered_flat_map
is usually part of a composite data structure and therefore transitively included in many TUs.Furthermore I usually don't use
boost::hash
but a custom hash implementation (SpookyHashv2, xxHash or domain specific hashes) and therefore would like to ask whether it'd be possible to provide a variant which either usesstd::hash
as defaultHash
parameter or doesn't supply one at all.