Custom memory allocation in C# Part 8 — Unsafe list in .NET Core x64

This is the eighth part of the Custom memory allocation series. For your convenience you can find other parts in the table of contents in Part 1 — Allocating object on a stack

Today we are going to revisit an Unsafe list example using .NET Core. Since I use x64 edition, I need to adjust a code using pointers:

Changes are rather simple — one just needs to replace integers with longs and multiply all the offsets by two.

Here I just use long fields to make the code simpler. Of course one can detect the size of the object and work with integers as well.

Here are the results:


Unsafe list is still faster.