kikairoya wrote: > > > Does it have measured perf implications that we should consider? > > > > > > I haven't measured, however, accessing `Registry<T>` shouldn't be in a > > hot-path, so I think there is no major impact. For build-time, > > `Registry<T>` itself is a quite simple template, and I don't think so many > > TUs instantiate it with the same parameters, so I guess it's not > > significant. > > Sorry about not being clear, I meant compile time performance implications, > i.e. does this change the compile times/sizes meaningfully for MSVC, clang, > or gcc? That is fair, it it is a pretty simple member, so it shouldn't be too > expensive to materialise, but the problem is on the linking side where the > deduplication needs to occur.
Give me a moment to take some measurements. The amount of duplication is the number of `Registry<T>::Add<V> X(...)` registrations for each `T`, so I guess that is not a heavy task. Or, inlining `add_node` into `Add<V>::Add` could be eliminate the duplications. https://github.com/llvm/llvm-project/pull/185141 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
