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

microlinkhq / keyvhq / 40593712452
97%

Build:
DEFAULT BRANCH: master
Ran 27 Oct 2026 10:20PM UTC
Jobs 14
Files 14
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

27 Oct 2026 10:17PM UTC coverage: 96.721% (+0.3%) from 96.445%
40593712452

push

github

web-flow
perf(core): drop json-buffer, serialize with native JSON (#283)

* perf(core): serialize with JSON.stringify replacer instead of json-buffer

json-buffer rebuilds every object by hand in JS (string concatenation
plus a JSON.stringify call per key and per leaf). A replacer passed to
the native JSON.stringify keeps the exact same encoding: Buffers become
":base64:<data>" (checked on the raw holder value, before Buffer#toJSON
runs) and strings starting with ":" get one more ":". Parsing keeps the
same reviver logic without the regexes. json-buffer is dropped from
@keyvhq/core dependencies.

A/B, node benchmark/index.js, 5 alternating runs per side, median of
medians (node 24.16.0, arm64, load avg 7-9):

| case | base | head | delta |
|---|---|---|---|
| core set+get object | 311.5 ms | 198.1 ms | -36.4% |
| core get buffer | 141.4 ms | 140.1 ms | -0.9% |
| core namespace set+get object | 311.7 ms | 228.3 ms | -26.8% |
| memoize hit | 236.0 ms | 231.0 ms | -2.1% |
| memoize concurrent dedupe | 51.0 ms | 51.7 ms | +1.4% |
| memoize stale | 111.0 ms | 90.7 ms | -18.3% |

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

* perf(core): revive parsed values with a walk instead of a JSON.parse reviver

Passing any reviver to JSON.parse makes V8 leave its fast path: a no-op
reviver alone costs 5-6x on the benchmark payloads (158 -> 877 ns for
the memoize payload, 461 -> 2936 ns for the object payload). Parsing
plainly and then walking the result to unescape ":" strings and decode
":base64:" Buffers does the same work in 208 and 722 ns. Keys come from
Object.keys, so enumerable properties on Object.prototype are not
visited, and a value is only written back when it changed.

Adds a test that pins the stored bytes to the json-buffer format.

A/B against master, node benchmark/index.js, 5 alternating runs per
side, median of medians (node 24.16.0, arm64, load avg 15-35):

| case | base | head | delta |
|---|---|---|---|
| core set+get object | 300.3 ms | 84.... (continued)

342 of 368 branches covered (92.93%)

Branch coverage included in aggregate %.

86 of 86 new or added lines in 1 file covered. (100.0%)

1015 of 1035 relevant lines covered (98.07%)

64.74 hits per line

Jobs
ID Job ID Ran Files Coverage
1 @keyvhq/mongo - 40593712452.1 27 Oct 2026 10:21PM UTC 1
97.5
GitHub Action Run
2 @keyvhq/memoize - 40593712452.2 27 Oct 2026 10:20PM UTC 1
100.0
GitHub Action Run
3 @keyvhq/mysql - 40593712452.3 27 Oct 2026 10:21PM UTC 1
97.67
GitHub Action Run
4 @keyvhq/stats - 40593712452.4 27 Oct 2026 10:21PM UTC 1
97.22
GitHub Action Run
5 @keyvhq/compress - 40593712452.5 27 Oct 2026 10:21PM UTC 1
100.0
GitHub Action Run
6 @keyvhq/multi - 40593712452.6 27 Oct 2026 10:20PM UTC 1
100.0
GitHub Action Run
7 @keyvhq/file - 40593712452.7 27 Oct 2026 10:21PM UTC 1
94.64
GitHub Action Run
8 @keyvhq/max-size - 40593712452.8 27 Oct 2026 10:20PM UTC 1
91.89
GitHub Action Run
9 @keyvhq/core - 40593712452.9 27 Oct 2026 10:21PM UTC 1
96.88
GitHub Action Run
10 @keyvhq/sqlite - 40593712452.10 27 Oct 2026 10:20PM UTC 1
89.09
GitHub Action Run
11 @keyvhq/sql - 40593712452.11 27 Oct 2026 10:20PM UTC 1
95.3
GitHub Action Run
12 @keyvhq/postgres - 40593712452.12 27 Oct 2026 10:21PM UTC 1
91.3
GitHub Action Run
13 @keyvhq/redis - 40593712452.13 27 Oct 2026 10:21PM UTC 1
96.15
GitHub Action Run
14 @keyvhq/offline - 40593712452.14 27 Oct 2026 10:20PM UTC 1
100.0
GitHub Action Run
Source Files on build 40593712452
  • Tree
  • List 14
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #40593712452
  • e13cd2c0 on github
  • Prev Build on master (#30850390360)
  • Next Build on master (#40670703404)
  • Delete
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