ktf wrote: @ChuanqiXu9 I have added a simple unit test, which has 100% code coverage as far as I can tell and covers the usecase the container will be used for.
@nikic This is in the context of improving the memory used when loading modules, in particular my usecase is the runtime overhead of the ROOT/cling C++ interpreter / I/O subsystem. Without this patch, the initialisation of the system, which on startup loads a bunch of unneeded modules, grows to up 80 MB as you can see from: ![image](https://github.com/llvm/llvm-project/assets/10544/9c2c7dc3-8e64-403c-a923-97a40cd8f1ff) With this patch applied, the total overhead goes down to 52MB: ![image](https://github.com/llvm/llvm-project/assets/10544/56111b37-fa0e-415d-8d00-0bcd818db3aa) As you can see the `ROOT::Internal::GetROOT2()` initialisation method goes from 67 to 30 MB (with some of the allocations which are now moved later on, due to the lazy allocation of the PagedVector). https://github.com/llvm/llvm-project/pull/66430 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits