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

naver / billboard.js / 24338443571 / 2
94%
master: 94%

Build:
DEFAULT BRANCH: master
Ran 13 Apr 2026 10:30AM UTC
Files 131
Run time 4s
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

13 Apr 2026 10:25AM UTC coverage: 93.754% (+0.004%) from 93.75%
24338443571.2

push

github

web-flow
Perf wave1 opts (#4130)

* refactor(perf): Apply Wave 1 code-level performance optimizations

- shape: Hoist CURVE_MAP to module level
- class/dom/tooltip: Hoist regex constants to module level
- object: Replace Math spread with manual loop for large arrays
- state: Convert hiddenTargetIds/focusedTargetIds from Array to Set
- data: Update addTargetIds/removeTargetIds for Set API
- color: Reduce triple ids.indexOf() to single lookup
- point: Replace attr("class").indexOf() with classed()
- test: Update specs to use Set API (.has, .size)

* refactor(perf): Apply Wave 2 structural performance optimizations

- shape: Pre-compute prefix sums in getShapeX (avoid slice+reduce per bar)
- data: Replace mergeArray+filter in filterByX with flat double loop
- point: Extract inline .bind() calls to variables in updateCircle

* refactor(perf): Batch circle redraw and add focus-only threshold

- redrawCircle: for standard circle type, replace N-iteration .each()
  loop with two batch D3 filter passes — existing circles animate,
  new circles jump to position directly (preserves no-slide behavior)
- isPointFocusOnly: add opt-in point_focus_only_threshold config;
  auto-enables focus-only mode when total data points exceed threshold

* refactor(perf): Remove point_focus_only_threshold option

Reverts the auto-threshold feature added in the previous commit.
point_focus_only: true already covers the use case explicitly.

* refactor(perf): Counter-based transition IDs, shape offset pre-grouping, class memoization

- getRandom(): replace crypto.getRandomValues TypedArray allocation with
  a simple auto-increment counter; transition names need uniqueness, not
  cryptographic randomness (removes syscall + TypedArray alloc per call)
- getShapeOffset(): pre-build per-series same-stacking-group Map before
  the closure; eliminates .filter() array allocation on every datum
  (O(n*m) per redraw -> O(m) pre-build + O(1) lookup per datum)
- generateClass(): memoize result in state... (continued)

6902 of 7669 branches covered (90.0%)

Branch coverage included in aggregate %.

8678 of 8949 relevant lines covered (96.97%)

6945.28 hits per line

Source Files on job run-22.x - 24338443571.2
  • Tree
  • List 131
  • Changed 10
  • Source Changed 0
  • Coverage Changed 10
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Build 24338443571
  • 14b3711a on github
  • Prev Job for on master (#24235942512.3)
  • Next Job for on master (#24550161999.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc