Closed igitur closed 6 years ago
The answer depends on the stability of .NET standards - as far as surface contracts of .NET standards 2 and beyond. The ISerializable mechanisms have been absent in first incarnations of Core, however they have added it back-in. The serializability is a primary functionality of any distributed app, so looks like .NET Standard 2+ will most likely cover what we need. As for the NFX roadmap: NFX like no other framework is suitable for CORE/Standards as it is pretty much a clean implementation not coupled with "fat" legacy classes.
To summarize, we expect that NFX will be Standards compliant realistically when MS stabilizes their stuff, which would probably be in 2018.
Please take a look at SealedString class, also we can create a Pile version without Slim, that would be sufficient for storing hundreds of millions of strings - I think that is what you need for you XML project
Thank you. That response was a lot more encouraging than I expected!
Despite the name ClosedXML
, it actually has little to do with XML. ClosedXML
is a wrapper project around OpenXML
, which the XML specification for Microsoft Office files (.xlsx
for example). ClosedXML
attempts to provide a user-friendly API around it. So, for a large spreadsheet, we load a complex object for each cell into memory. The object would contain the formula, value, formats and styles for the cell. There are a few places where we could use the SealedString
class though.
I'm going to try NFX Pile - hopefully the serialization reduces the memory footprint at little performance impact.
We now support .NET CORE/ NET STANDARD in NFXv5 https://github.com/agnicore/nfx
After reading https://www.infoq.com/articles/Big-Memory-Part-2 I want to try NFX Pile in the ClosedXML project to improve memory and performance issues. However, we have a separate goal of support .NET Standard at some stage. Do you have any idea of the effort involved in making NFX Pile .NET Standard compliant?