fslaborg / Deedle

Easy to use .NET library for data and time series manipulation and for scientific programming
http://fslab.org/Deedle/
BSD 2-Clause "Simplified" License
924 stars 196 forks source link

.Net standard / .Net core support #366

Closed hansmbakker closed 5 years ago

hansmbakker commented 7 years ago

I would like to use Deedle from .net core / .net standard. Could you please add support for that?

tenninebt commented 6 years ago

@wind-rider Did you go for it yourself? No commits since June 2016, not sure it is a good idea to wait.

buybackoff commented 6 years ago

I have added source here as .NET Standard 2 (with tests) and NuGet here. The only changes needed were Reflection.Emit adjustments.

The purpose for this was mainly to have a signed version easily accessible and to use in benchmarks and support (very) old code while rewriting it to using Spreads. Nevertheless, the linked NuGet is an exact copy of current master with all test passing and namespace renamed to Spreads.Deedle. No guarantee or intent to support a fork or to follow upstream if someone takes over it from the current dead state. Rather I will slowly migrate interesting parts to using Spreads.Core abstractions, patterns and primitives.

Some obvious directions are 1) to use pooled Memory<> instead of arrays and 2) create R-backed MemoryPool so that primitive types supported by R could be allocated inside R and .NET's Frame could be just a view over R frame without back-and-forth copying.

tpetricek commented 6 years ago

If anybody here wants to contribute this to Deedle, I'll be very happy to make you a co-maintainer of the project!

buybackoff commented 6 years ago

To make it netstandard 2.0 is literally to change 2 lines of code. But even that functionally duplicates Marc Gravel's fast-member lib. It's better to reuse that lib if that is on the hot path.

zyzhu commented 5 years ago

Target netstandard2.0 and net45 now. https://github.com/fslaborg/Deedle/pull/391