Parsing with ReadOnlySpan and first try of OBJ reader

C#, Performance, Unmanaged, Parser, Span, 3D, .NET Core,

Hi Everyone.
I think every one of us at least one time did your parser of some text format csv/xml/html/ etc. to learn format or to learn language approach to do that or just for fun.

I did that many times, but always I didn't have enough time or/and patience to lead it to production-ready or just find better implementation. Nevertheless, I got the experience and have no regrets about it.

For your attention, my way to implement parser with Span and some tricks.

All things I demonstrate below were used for implementing 3D OBJ format reader.

Read More →

Handling unmanaged resources with Dispose & Finalize

C#, Performance, Unmanaged, GC, SharpDX, Architectural pattern,

Hi Everyone.
We all work in a managed world we do not control objects' lifetime do not worry about memory allocation (in most cases). We have GC and it does its work excellent. But the unmanaged word still exists and often we forced to interact with it. Let's talk a bit about unmanaged resources and managed approaches to acting with it.

Read More →

Struct as Key in Dictionary

C#, Performance, .NET Core,

Hi Everyone.
Due to my position often I investigate performance issues, one of it I think to be interesting to be described on an article. In this article we figure out how important to use correct struct declaration which uses in Dictionary as Key. Then we'll measure speed of different realizations as well.

Read More →