0b1de566df
* Use Concurrent Dictionaries and ignore case on them to avoid ToLower * remove single array allocation * allocate GetClosures differently * Use JsonReader for closures * add comment * use isdefined * more readonly with less allocations * sorts * fmt * use element type when making an array * first pass * Fix reading for object and array * serialization works? * Fix closure parsing * things are way faster * Deserialize is async * fmt * renames * remove deserialize threads * fmt * faster to use ordinal compare * serialization looks okay * fix closure writing * fixes * use possibly different values for compute id * use closure parser on download * memory test for blobs * decompose serialization * fmt * fmt * for decomposing, values should be used instead of original * set id after computing it * redo more closure parsing * fix memory test * don't throw on try get deserialized * fmt * fix integration tests * fix tests * disable memory blob storage by default * put back ? * merge fixes and delete worker threads * fmt * serialization of old floats pass * serialization of old floats pass * rename class * Use async/await on GetObject * await deserialization * fmt * uncomment and fix tests * don't allow things to exist in the closure table that doesn't exist * detach blob tests * rename serializer * async more correct * revert * fix merge * fix blob tests again * more fixes * Fix building * async fixes * more async fixes * fix tests? * rename GetId to GetIdAsync * clean up * more cleanup * fmt * fix test * fix analyzer errors * use ConcurrentDictionary to be thread safe