mizvekov added a comment.

In D112374#3647530 <https://reviews.llvm.org/D112374#3647530>, @nikic wrote:

> FYI this change had a noticeable compile-time impact 
> (http://llvm-compile-time-tracker.com/compare.php?from=ee88c0cf09969ba44307068797e12533b94768a6&to=bdc6974f92304f4ed542241b9b89ba58ba6b20aa&stat=instructions),
>  is that expected? Largest regressions are in kimwitu++, where error.cc and 
> gutil.cc regress by 2%.

It was expected that there would be some amount of compile time impact.

How do you think these are representative / translate to real world impact?
Any opinions on trade vs benefit?

The impact this patch causes on a TU would be slightly lower, basically 
equivalent to simply using name qualifications whenever possible.

So if you had a program like this:

  struct A {};
  
  A a;

The impact this patch causes should be smaller than simply rewriting it to:

  struct A {};
  
  struct A a;

or

  struct A {};
  
  ::A a;

Where qualifications already exist or a more prevalent, I would expect the 
impact to be none or lesser.

In other words, I would not expect to make worst cases significantly worse.

So I would have suspected this not to be of much impact in scenarios where 
compilation time is already critical, like complex programs that use 
qualifications more heavily, or where most of the time is spent instantiating 
templates for example.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112374/new/

https://reviews.llvm.org/D112374

_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to