forked from OSchip/llvm-project
llvm-profdata: Improve memory usage by tuning SmallDenseMap size
This takes memory usage from 5.1GB to 970MB - it could go further by using a small size of 2 instead of the default of 4, but given the rather high cost of going over this limit by much, I figured a little slosh would be worth the ~130MB of memory usage. & this'll might not be such a big deal if we use a custom slab allocator for the DenseMaps here anyway While the vast majority (99.9%) of records use only 1 entry, the tuning parameter to SmallDenseMap is the the number of buckets, not the number of entries - so a small size of 1 wasn't useful, even for 1 element, it would tip over into allocating (much, 64 slots worth) more space - none of them ended up small. llvm-svn: 307608
This commit is contained in:
parent
098b147347
commit
5a22d3fd11
|
@ -33,8 +33,7 @@ class raw_fd_ostream;
|
|||
|
||||
class InstrProfWriter {
|
||||
public:
|
||||
using ProfilingData =
|
||||
SmallDenseMap<uint64_t, InstrProfRecord, 1>;
|
||||
using ProfilingData = SmallDenseMap<uint64_t, InstrProfRecord>;
|
||||
enum ProfKind { PF_Unknown = 0, PF_FE, PF_IRLevel };
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue