• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

moonbitlang / core / 6283
91%

Build:
DEFAULT BRANCH: main
Ran 22 Aug 2026 06:21AM UTC
Jobs 1
Files 452
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

22 Aug 2026 06:18AM UTC coverage: 90.867% (+0.07%) from 90.799%
6283

push

github

bobzhang
perf(immut): keep from_iter streaming instead of bulk-building

Bulk-building from an iterator required `iter.to_array()` first, which changed
live auxiliary memory from O(distinct elements) to O(input length). Folding a
large duplicate-heavy stream into a small set — 10M items with 10 distinct
values, say — went from holding a 10-node tree to holding a 10M-element array.

Restore the fold for both `SortedMap::from_iter` and `SortedSet::from_iter`.
The array constructors keep the bulk build, so callers who want that path and
can afford the buffer can still write `SortedSet(iter.to_array())` and choose
the trade-off explicitly.

With the iterator entry points folding again, the set's `keep_first` plumbing
had only one reachable value, so it is dropped from
`sorted_set_compact_ordered_array`, `sorted_set_from_unsorted_buffer` and
`sorted_set_dedupe_in_place`, along with the two now-unreachable
`sorted_set_from_iter_array*` helpers.

Measured (native, n=10000). The array constructors are unaffected — SortedMap
ordered 182.61 us and SortedSet ordered 197.63 us, against 4.02 ms and 5.20 ms
on main; their slowest shape, random input, is 985.59 us and 391.65 us against
3.12 ms and 3.06 ms. from_iter returns to the main baseline across every shape,
3.04-5.20 ms here against 3.01-5.23 ms on main.

Signed-off-by: Codex CLI <codex@openai.com>

9 of 9 new or added lines in 3 files covered. (100.0%)

6 existing lines in 1 file now uncovered.

16745 of 18428 relevant lines covered (90.87%)

306435.52 hits per line

Coverage Regressions

Lines Coverage ∆ File
6
98.1
0.44% immut/sorted_set/immutable_set.mbt
Jobs
ID Job ID Ran Files Coverage
1 6283.1 22 Aug 2026 06:21AM UTC 453
90.88
GitHub Action Run
Source Files on build 6283
  • Tree
  • List 452
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • 9518fdf9 on github
  • Prev Build on main (#6269)
  • Next Build on main (#6284)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc