[LLVMdev] [lld] Current performance issues

Nick Kledzik kledzik at apple.com
Fri Dec 6 18:22:46 PST 2013


On Dec 6, 2013, at 5:30 PM, Michael Spencer <bigcheesegs at gmail.com> wrote:

> If the cache effects are bad enough, we may actually need
> to change to a non-virtual POD based interface for atoms. Meaning that
> readers fill in atom data at the start, instead of figuring it out at
> runtime.
Taking scope() as an example, there are two layers of cost:
1) The virtual call to scope() (as opposed to an inlined fetch of an ivar)
2) The work the implementation of scope() does.  
Which are you referring to?

Changing the Atom model to have a base POD, would hurt the native file format.  It is based around bulk instantiated cheap atoms objects that just have a pointer into the atom info in the mapped file.  

If accessing atom attributes (like scope) really is called alot, perhaps we can redo algorithms to call them less?

-Nick






More information about the llvm-dev mailing list