Jump to content

  • Log In with Google      Sign In   
  • Create Account

There is no escape from the Washu

SlimGen and You, Part ADD EAX, [EAX] of N

  Posted by Washu, 14 September 2014 · 157 views
So far I’ve covered how SlimGen works and the difficulties in doing what it does, including calling convention issues that one must be made aware of when writing replacement methods for use with SlimGen.
So the next question arises, just how much of a difference can using SlimGen make? Well, a lot of that will depend on the developer and their skill level...

SlimGen and You, Part ADD AL, [RAX] of N

  Posted by Washu, 14 September 2014 · 86 views
The question does arise though, when using SlimGen and writing your SSE replacement methods, what kind of calling convention does the CLR use?
The CLR uses a version of fastcall. On x86 processors this means that the first two parameters (that are DWORD or smaller) are passed in ECX and EDX. However, and this is where the CLR differs from standard fastcal...

SlimGen and You, Part ADD [EAX], EAX of N

  Posted by Washu, 14 September 2014 · 88 views
So previously we delved into one of the nastier performance corners on the .Net framework. Today I’m going to introduce you to a tool, that is in development currently, which allows you to take those slow math functions of yours and replace them with high performance SSE optimized methods.
We’ve called it SlimGen , which although not exactly accurate, doe...

SlimGen and You, Part ADD [EAX], AL of N

  Posted by Washu, 14 September 2014 · 48 views
Imagine you could have the safety of managed code, and the speed of SIMD all in one? Sounds like one of those weird dreams Trent has, or perhaps you are already thinking of using C++/CLI to wrap SIMD methods to help reduce the unmanaged transition overhead. You might also be thinking about pinvoking DLL methods such as those used in the D3DX framework to...

Playing With The .NET JIT Part 4

  Posted by Washu, 14 September 2014 · 40 views
As noted previously there are some cases where the performance of unmanaged code can beat that of the managed JIT. In the previous case it was the matrix multiplication function. We do have some other possible performance benefits we can give to our .NET code, specifically, we can NGEN it. NGEN is an interesting utility, it can perform heavy optimizations...

Recent Comments

October 2014 »

2627282930 31