@hrg/gitignore 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -8
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -260,23 +260,23 @@ The three JS columns are **the same vectors, the same port, three matching strat
|
|
|
260
260
|
which is a pattern with `**` where the regex happened to be fast. That row is the open tuning question, not a settled
|
|
261
261
|
result.
|
|
262
262
|
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
263
|
+
Both ports now run the same segment DP as the reference, with the ancestor memoisation that took them from 17x and 11x behind
|
|
264
|
+
Zig to about 1.6x and 2.2x at the time it was measured - and the reference has since become roughly 10x faster than it started,
|
|
265
|
+
so the relative gap moved again. The current numbers, the method, and every improvement (including what was measured and
|
|
266
|
+
refuted) are in [doc/performance/](doc/performance/README.md) and [doc/measurement.md](doc/measurement.md).
|
|
267
267
|
### How these numbers are produced
|
|
268
268
|
|
|
269
269
|
Cold-process runs, with start-up measured separately and subtracted. That is the honest number for a CLI and it is
|
|
270
|
-
also noisy: the same Java build has reported `backtrack` at 3205 ms and 5129 ms. [
|
|
270
|
+
also noisy: the same Java build has reported `backtrack` at 3205 ms and 5129 ms. [doc/measurement.md](doc/measurement.md) records the two measurement modes, the steady-state table (12 rounds inside one process) and every
|
|
271
271
|
strategy tried on the Java port with what it cost. The Java column above predates the literal-segment fast path.
|
|
272
272
|
|
|
273
273
|
### Two caveats
|
|
274
274
|
|
|
275
275
|
- The runner measures a process; the start-up column is a subtraction, and on a loaded machine it is a noisy one. The
|
|
276
276
|
large rows are far outside that noise; the small ones are not.
|
|
277
|
-
- The ports are
|
|
278
|
-
|
|
279
|
-
|
|
277
|
+
- The ports are no longer "young" in the sense that mattered: the Java port adopted the segment DP, then literal segments, then
|
|
278
|
+
the ancestor memoisation, and the JS port did the same. What remains is the reference's own head start - it has three indexes
|
|
279
|
+
the ports do not have, and [doc/performance/shared.md](doc/performance/shared.md) is the list a new port should work through.
|
|
280
280
|
## Running the three
|
|
281
281
|
|
|
282
282
|
```text
|
|
@@ -379,3 +379,14 @@ Requirements, learned from a project of this author's that publishes this way (`
|
|
|
379
379
|
|
|
380
380
|
Afterwards, `fs-meta` resolves `hr.hrg:gitignore` from the repository like any other artifact; it no longer needs the local
|
|
381
381
|
`mvn install`.
|
|
382
|
+
## Checks
|
|
383
|
+
|
|
384
|
+
```text
|
|
385
|
+
bun scripts/check-verdicts.mjs # the three implementations agree, byte for byte
|
|
386
|
+
bun scripts/check-verdicts.mjs --json # one NDJSON object per workload
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
The 34 conformance vectors say what the matcher must decide; this says that the three implementations decide the *same thing*
|
|
390
|
+
on the six bench workloads — 10,000 verdicts, compared byte for byte, with the first differing line named on failure. A missing
|
|
391
|
+
binary is exit 2 with the build command, never a skip. It exists because twice in this project's history "the vectors pass" was
|
|
392
|
+
mistaken for "the ports agree", and the comparison had been run by hand in scratch files that were never committed.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hrg/gitignore",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "git's .gitignore (wildmatch) semantics: one matcher, shared by the Zig, JavaScript and Java ports.",
|
|
5
5
|
"license": "LicenseRef-GPL-3.0-with-Commons-Clause",
|
|
6
6
|
"author": "Davor Hrg",
|