theraot / Theraot

Backporting .NET and more: LINQ expressions in .net 2.0 - nuget Theraot.Core available.
MIT License
162 stars 30 forks source link

Concurrent dictionary update #144

Closed NN--- closed 3 years ago

NN--- commented 3 years ago

Porting ConcurrentDictionary from dotnet/runtime. Make ConcurrentDictionary working well.

theraot commented 3 years ago

It is about to timeout as I write. I'm guessing the hold back is my new test ( https://github.com/theraot/Theraot/commit/344e1b0c5a079d9471928743b32b7ac07be58c20 ). It starts and keeps adding items while a ToArray runs. I'm guessing the reference implementation has ToArray starve. I don't like the way it handles locks at all. This is not a problem with mine.

NN--- commented 3 years ago

I’ll compare step by step with the working .NET implementation which passes and fix it. Don’t think it will be complicated.

theraot commented 3 years ago

If you insist. You are aware I'm considering the issue fixed, right? It just has not been released.

NN--- commented 3 years ago

I understand this. This is my second attempt to take dotnet/runtime implementation and I want to finish it this time. I’ll change the commit message to not be misleading ;)

NN--- commented 3 years ago

I see the test is failing with .NET Core 3.0 if I debug. Is it expected ?

theraot commented 3 years ago

I see the test is failing with .NET Core 3.0 if I debug. Is it expected ?

Nope.

Can we talk on GITTER?