Closed jakemac53 closed 3 weeks ago
Package | Version | Status | Publish tag (post-merge) |
---|---|---|---|
package:characters | 1.4.0 | ready to publish | characters-v1.4.0 |
package:args | 2.6.1-wip | WIP (no publish necessary) | |
package:async | 2.12.0 | already published at pub.dev | |
package:collection | 1.19.1-wip | WIP (no publish necessary) | |
package:convert | 3.1.2 | already published at pub.dev | |
package:crypto | 3.0.6 | already published at pub.dev | |
package:fixnum | 1.1.1 | already published at pub.dev | |
package:logging | 1.3.0 | already published at pub.dev | |
package:os_detect | 2.0.3-wip | WIP (no publish necessary) | |
package:path | 1.9.1 | already published at pub.dev | |
package:platform | 3.1.6 | already published at pub.dev | |
package:typed_data | 1.4.0 | already published at pub.dev |
Documentation at https://github.com/dart-lang/ecosystem/wiki/Publishing-automation.
cc @davidmorgan
Initially I tried using
entries
instead of avalues
iterator, but that was surprisingly slow. This appears to be a good middle ground (see history of this comment for old results).Hashing is about the same, but much faster for maps which don't have O(1) lookup. Equality is much faster.
Benchmarks before:
DeepCollectionQualityUnordered.equals(RunTime): 7427.29020979021 us. DeepCollectionQualityUnordered.hash(RunTime): 217.8173707406213 us. DeepCollectionQuality.equals(RunTime): 2653.23875 us. DeepCollectionQuality.hash(RunTime): 178.1674653887114 us.
Benchmarks after:
DeepCollectionQualityUnordered.equals(RunTime): 4435.374 us. DeepCollectionQualityUnordered.hash(RunTime): 212.8631545473818 us. DeepCollectionQuality.equals(RunTime): 1989.1746626686656 us. DeepCollectionQuality.hash(RunTime): 178.3396697902722 us.