You might heard params are evil. Have you ever seen the performance bill for that? How to find out where params are used? Memory allocation report shows all allocations, we’ll start from here: Method with params creates an array behind the scenes, so hunting for object: IL code proves sad truth – array is alwaysContinue reading “Performance crime: Params”
Let’s start with a guess – what is the most CPU-heavy operation in Sitecore? Answer: Performance counters initialization: Yes, that’s right, those performance counters which are powered by OS and super fast. Although Sitecore counter init implementation does not look offensive (volatile read & interlocked), counters are everywhere (cache lookup / access / object creation):Continue reading “Reckless interlocked operations”
The story how query optimization can influence the overall database performance.
The case study on how the harmless collection could silently cause system to work slower and remain undetected for ages.
Would you as a developer allow a setting that can make system 15 550 times slower? I’ve received a few memory dumps with high CPU; each scavenges AccessResultCache: How big is the cache so that every snapshot contains the operation? Detecting cache size from the snapshot A ClrMD code snippet locates objects in Sitecore.Caching.Generics.Cache namespaceContinue reading “Performance crime: config to kill performance”
How expensive a lack of respect to mainstream usage could be?
How to answer ‘why slow’ question?
The general assumption is – not using a feature/functionality means no performance price is payed. How far do you agree?
How to make Content Testing consume less CPU power.
Memory snapshot captures a picture of the process in time. It is a source of wonderful information about application. This post shows how to unlock access to the data.