This is an archive of the discontinued LLVM Phabricator instance.

Reduce size in memory. This is very helpful in a multi-module setups.
AbandonedPublic

Authored by v.g.vassilev on Jun 11 2016, 11:02 AM.

Details

Reviewers
lhames

Diff Detail

Repository
rL LLVM

Event Timeline

v.g.vassilev retitled this revision from to Reduce size in memory. This is very helpful in a multi-module setups..
v.g.vassilev updated this object.
v.g.vassilev added a reviewer: lhames.
v.g.vassilev set the repository for this revision to rL LLVM.
v.g.vassilev added subscribers: karies, llvm-commits.
lhames edited edge metadata.Aug 12 2016, 6:55 PM

Hi Vassil,

Sorry for the delayed reply.

What's the rationale behind this change? My (very limited) understanding of unordered_map is that '4' is the initial number of buckets to create, but I would have expected that to raise the memory consumption (assuming less than four are needed in practice) or leave it unaffected?

What do you mean by a multi-module use case? (Multiple modules in a single RuntimeDyld instance?)
Have you profiled other use-cases?

Cheers,
Lang.

Hi Lang,

Thanks for the reply.

Based on our profiling we found out that the Relocations allocated storage which we didn't need. It used to be a DenseMap and now it indeed changed to unordered_map. Maybe we don't need this anymore.

@karies should be able to give more details once he is back from vacation.

Cheers,
Vassil

Indeed, this is superseded by Keno's change from DenseMap to std::unordered_map. Sorry for the noise...

v.g.vassilev abandoned this revision.Aug 29 2016, 5:33 AM

Clarified.