Showing posts from November, 2018

Optimizing Jint part 6: DictionarySlim is coming to town

The past weekend I read about an interesting  pull request which is bringing a new type of dictionary with great interest. The idea of creating a new, simpler and enhanced version , now called DictionarySlim, original spun from the famous k-nucleotide benchmark  where .NET had some trouble performing well with the built-in Dictionary . What is this new member in *Slim family?

Optimizing Jint part 5: Optimizing Javascript primitives

Javascript primitives in Jint Jint has abstraction for each primitive Javascript type. Having these fundamental types work and interact with the engine in efficient manner is crucial for good performance. In this blog post we are investigating some of them and problems I found while profiling.

Optimizing Jint part 4: Interfaces are good, virtual calls better, direct field access the best

I'm probably going to break all the rules of OO encapsulation and some SOLID principles here. Be warned. We all have had our share of the strategy pattern, abstract factory, you name it. Abstracting targets behind interfaces and abstract base classes. They all are fine and aim to produce better software and they usually do. But when it comes to performance, you should sometime bend the rules a bit.