You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ImTools looks like it provides almost drop-in replacements for classes like ImmutableDictionary that are used very heavily in LIFTI.
According to the benchmarks they will provide a 2x read speed improvement in our scenarios, and a 6x speed improvement for heavily used operations during indexing.
It would be worth experimenting to see if the perf benefits really do play out.
My only concern is that right now the core library only takes a dependency on a MS-supported library - would taking a dependency on another OSS library be off-putting for anyone?
(I've never officially committed to using only Microsoft-led dependencies, it's just a co-incidence that's where the implementation landed)
The text was updated successfully, but these errors were encountered:
In our team we don't mind bringing in libs as long as they are 'dry-aged' (around for a long time) and have many contributors. Particularly the last one I find important. Otherwise you can get into trouble when the maintainer looses interest.
So I'd tend to not add the lib as it seems to have only one contributor.
I've decided to the System.Collections.Immutable dependency completely. I can keep the immutable semantics without leaking ImmutableDictionarys everywhere, initial investigations show that perf and memory is unaffected, and in some cases (index deserialization) perf is actually improved.
mikegoatly
changed the title
Performance: Use ImTools instead of System.Collection.Immutable
Remove dependency on System.Collections.Immutable
Dec 22, 2023
ImTools looks like it provides almost drop-in replacements for classes like
ImmutableDictionary
that are used very heavily in LIFTI.According to the benchmarks they will provide a 2x read speed improvement in our scenarios, and a 6x speed improvement for heavily used operations during indexing.
It would be worth experimenting to see if the perf benefits really do play out.
My only concern is that right now the core library only takes a dependency on a MS-supported library - would taking a dependency on another OSS library be off-putting for anyone?
(I've never officially committed to using only Microsoft-led dependencies, it's just a co-incidence that's where the implementation landed)
The text was updated successfully, but these errors were encountered: