fsprojects / .github

The place to request for projects to be added or removed from the incubation space
28 stars 7 forks source link

FSharp.HashCollections #51

Closed mvkara closed 3 months ago

mvkara commented 4 months ago

Hi,

I've worked on this library - repo is here. A description of the library's goals and performance benchmarks compared to many other .NET collections are located here comparing this to most .NET collection libraries I could possibly find. Its been in some large production systems for a number of years now and its speed has made some of our programs viable in F# so its mostly stable at this point.

The library is an effort to reduce the penalty of immutability for both fun and for profit - to reduce the cost of immutability as much as possible (specifically speed) but keep its advantages.

I'm considering moving this to FsProjects as over the years there's been a lot of feedback around slow collection types in F#, specifically the Map over the years. In my personal use cases; this work has made F# feasible to use - it may help others as well.

It's pretty much an optimised HashMap/HashSet (HAMT) with specific modifications for the .NET runtime, with plenty of performance tuning iterations in an attempt to squeeze out as much performance as possible.

If you think this library is a good fit for fsprojects; happy to move it here. If not happy to hear that discussion as well of potential alternatives.

Thanks.

dsyme commented 4 months ago

It looks great

Move it in by all means

mvkara commented 3 months ago

Just wondering what's the process to transfer here? I note that I'm not a member of fsprojects so it doesn't come up as a organisation I can transfer to. i.e "You don’t have the permission to create public repositories on fsprojects" is the message that comes up.

dsyme commented 3 months ago

@mvkara I've invited you just now :)

mvkara commented 3 months ago

Odd - haven't yet received a invitation email nor can see the invite at https://github.com/orgs/fsprojects/invitation. Will wait a bit - if it doesn't pop up then will message again here.

dsyme commented 3 months ago

Hmmm I may not have clicked the right button. I sent it again now

mvkara commented 3 months ago

Yep that worked. I've transferred it in - see https://github.com/fsprojects/fsharp-hashcollections. If I could be given admin rights to the repo to manage it we can close this issue.

dsyme commented 3 months ago

@mvkara that seems to be done, I believe you should have admin access now

mvkara commented 3 months ago

Thanks @dsyme; that worked. Issue resolved