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

uber / h3-go / 36650855539
100%

Build:
DEFAULT BRANCH: master
Ran 30 Sep 2026 12:34AM UTC
Jobs 1
Files 19
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

30 Sep 2026 12:32AM UTC coverage: 100.0%. Remained the same
36650855539

push

github

web-flow
perf: hex parser, one-alloc text marshaling, one-mask Parent in x/h3go (#145)

With the typed benchmark sink in place (#144) the small operations are
measurable, so take the remaining per-call overheads found in the profile
survey. Every change is bit-exact: a digest of centers, round-tripped cells,
parents at every resolution, grid disks and rings, string and text renderings,
parses with and without the 0x prefix, and local IJ round trips over 62,048
cells is identical before and after.

- IndexFromString parsed through strings.ToLower and strconv.ParseUint, which
  handle cases an H3 index never has. A fixed hex parser accepts the same
  inputs and returns the same values, including 0 for malformed text and
  math.MaxUint64 on overflow, matching ParseUint with its error discarded. It
  is generic over string and []byte so UnmarshalText no longer copies its
  input into a string first.
- MarshalText on Cell, DirectedEdge and Vertex formatted to a string and then
  copied it to a byte slice. It now appends into one right-sized slice.
- Parent set the unused digits one resolution at a time through setIndexDigit.
  It now ORs a single mask, the mirror of zeroIndexDigits.
- neighborRotations and faceIJK.toH3 applied a multi-step base-cell rotation by
  walking every digit once per step. A composed rotation table walks them once.
- faceIJK.toH3 and localIjkToCell normalized the digit offset and then handed
  it to toDigit or unitToDigit, which normalize again. The outer normalize is
  gone.

benchstat, Go implementation, ten interleaved rounds of each side on an Apple
M3 Max under background load (load average 10 to 13, hence the wide intervals):

                                         old           new   vs base
LatLngToCell-16                 158.3n ± 26%  152.4n ± 23%   -3.73% (p=0.014 n=10)
LatLngToCellString-16           180.6n ± 24%  173.8n ± 26%   -3.79% (p=0.005 n=10)
LatLngCell-16                   157.1n ± 27%  151.9n ± 28%   -3.37% (p=0.008 n... (continued)

69 of 69 new or added lines in 7 files covered. (100.0%)

4356 of 4356 relevant lines covered (100.0%)

2765280.71 hits per line

Jobs
ID Job ID Ran Files Coverage
1 Go- - 36650855539.1 30 Sep 2026 12:34AM UTC 19
100.0
GitHub Action Run
Source Files on build 36650855539
  • Tree
  • List 19
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • fdf45a28 on github
  • Prev Build on master (#36616045688)
  • Next Build on master (#36771205534)
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