Hey guys,
after a couple of hours searching, testing and debugging a complete (pretty nice) international (>20 languages)Â solution we still experienced a (at this point) strange behaviour by Sitecore.
Imagine that:
Root
- subitem 1
- subitem 2
- subitem 3
- subitem 4
- subitem 5
- subitem 6
All these subitems have no(!) fields. And there are no proxies or any other things which can influence the performance. How long does it take to evaluate this xpath statement: ./item (the context node is the root node)?
It takes approx. 19 ms! So long for such a basic operation, wtf? (Also in the profiler view we see approx. 3000 items read)
… some random time later (after changing the icon as well
) …
Check the “Subitems sorting” field on the root item! In our case the value was “Created”, if you set it to default (or nothing) it takes 0,12 ms!
Checking the code of the “Created” method reveals the explanation: By each call of DoCompare() it compares each version as well. Now: 24 languages with 1 version and 8 subitems…. now it’s quite understandable why it took so long. Also the items count in the profile are less!
So, be careful when applying “Created” as subitems sorting on a large enviroment.
Enjoy the rest of the week.
best chris