Move NFX Pile to separate NuGet
jakoss opened this issue · 3 comments
I would love to use your pile in our application, but it's not possible to move whole app to your framework (it's just too deep in akka.net).
Is there a possibility to get Pile as single library (apart from every other dependency from NFX Core)?
@NekroMancer you do not need to move anything in your application to NFX to use Pile.
Just use the classes that you need (i.e. DefaultPile, Cache etc.). - Pile works as a library without NFX framework context.
It is not possible to move Pile in a separate library because a). it serves no purpose but making dll smaller (2mb-> 800kb), b). Pile it is highly optimized for storing distributed data types - to you this does not matter, other than having a 2mb dll instead of 800K dll in a server app.
However, at any point in future you may want to get detailed logging and instrumentation of pile - all it would take is adding a few lines in config.
The .NET Core support comes after 2.0 official release in late fall.
Ok, 2mb seem fair enough :) Thanks for the answer
Anytime!
You can take a look here, notice there is no "NFX Framework" involved, as both pile and cache work as plain library. Internally it uses lots of stuff - but you are not going to get coupled to it.
Also, VERY IMPORTANT: to get the performance you need to run 64 bit app in GC SERVER MODE set in App.config. Otherwise CLR allocates objects very slowly.
https://github.com/aumcode/nfx/blob/master/Source/Testing/NUnit/NFX.NUnit/AppModel/Pile/CacheTest.cs