Skip to content

Commit ab9137f

Browse files
committed
fix: restore PerryTS casing in repo URL + add benchmark headlines to README
The lowercase perryts/mysql in package.json's repository.url broke npm provenance verification, which is case-sensitive against the actual GitHub org name. Restoring PerryTS to match. Also add headline benchmarks vs mysql2 to the README, drawn from bench/RESULTS.md, and update CHANGELOG.
1 parent 06d2aa7 commit ab9137f

3 files changed

Lines changed: 31 additions & 4 deletions

File tree

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44

55
- Add `.github/workflows/publish.yml` — release-triggered npm publish
66
via OIDC trusted publishing, with tag/version sanity check.
7+
- Restore canonical `PerryTS` casing on the GitHub repository URL in
8+
`package.json` (npm provenance verification is case-sensitive).
9+
- README: add headline benchmark numbers vs `mysql2` and Perry AOT
10+
(sourced from `bench/RESULTS.md`).
711
- Scrub leftover hard-coded benchmark connection details from
812
`bench/bench-aot.ts` and `examples/perry-aot-smoke.ts` (creds were
913
invalid; affected files are repo-only and not in the published

README.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
Pure-TypeScript MySQL / MariaDB wire-protocol driver. Runs on Node.js and
44
Bun, and ahead-of-time compiles to a native binary via
5-
[Perry](https://github.com/perryts/perry) (LLVM). Zero native dependencies.
5+
[Perry](https://github.com/PerryTS/perry) (LLVM). Zero native dependencies.
66

77
Sibling package of
8-
[@perryts/postgres](https://github.com/perryts/postgres).
8+
[@perryts/postgres](https://github.com/PerryTS/postgres).
99

1010
## Status
1111

@@ -56,6 +56,29 @@ bun run test:real # docker MySQL 8 + MariaDB 11 integration matrix
5656

5757
## Benchmarks
5858

59+
Headlines from [bench/RESULTS.md](bench/RESULTS.md) (MySQL 8.0.45 over WAN,
60+
30-50 iterations, median ms per query):
61+
62+
| Workload | Bun + @perryts/mysql | Bun + mysql2 | Node + @perryts/mysql | Node + mysql2 | Perry AOT + @perryts/mysql |
63+
|---|---:|---:|---:|---:|---:|
64+
| `SELECT 1` (text) | **96.6** | 485.8 | **84.1** | 80.5 | **67.0** |
65+
| `SELECT ? AS v` (prep) | **69.3** | 181.0 | 89.7 | **68.6** | **80.0** |
66+
| `SELECT * LIMIT 1000` | **96.1** | 112.8 | **113.9** | 99.2 | 122.5 |
67+
| `SELECT * LIMIT 10000` | **330.4** | 457.9 | **567.8** | 475.9 ||
68+
69+
- **5-7× faster than `mysql2` under Bun** on small queries (`mysql2`'s
70+
warm-up under Bun is sub-optimal; this driver doesn't have that
71+
cliff).
72+
- **Comparable to `mysql2` under Node** at the median across all
73+
workloads — within 20% on every row.
74+
- **Perry AOT wins `SELECT 1` outright** at 32 ms min, brushing the
75+
WAN floor of ~30 ms.
76+
- **Best median on 10k-row results under Bun** (330 ms vs `mysql2`'s
77+
458 ms), though Bun has a long p95 tail driven by GC on large row
78+
objects — see notes in `bench/RESULTS.md`.
79+
80+
### Reproducing
81+
5982
```sh
6083
(cd bench && bun install) # pulls mysql2 / mysql into bench/node_modules only
6184
MYSQL_HOST=127.0.0.1 MYSQL_TCP_PORT=33306 MYSQL_USER=... \

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@
2020
"mysql-native-password",
2121
"tls"
2222
],
23-
"homepage": "https://github.com/perryts/mysql",
23+
"homepage": "https://github.com/PerryTS/mysql",
2424
"repository": {
2525
"type": "git",
26-
"url": "https://github.com/perryts/mysql.git"
26+
"url": "https://github.com/PerryTS/mysql.git"
2727
},
2828
"author": "Skelpo",
2929
"engines": {

0 commit comments

Comments
 (0)