montjeffrey
8e99eaa4e3
perf(context): load the registry once per resolution and routing index build
...
compileContextProfile now validates its options, loads the registry and
calls compileContextPlan(registry, options), which compiles against a
registry the caller loaded in the same call. resolveTaskContext and
routingEntries load the registry once and compile from it, so the sources
are hashed once per call instead of twice.
On this repository (full@1, Windows 11, median of 5):
resolveTaskContext 1332 ms -> 645 ms, routingEntries 1321 ms -> 721 ms.
The registry never comes from outside the call: nothing caches it or
accepts one from a caller, so a stale or forged registry cannot be passed
in. The two "Registry changed during ..." checks compared the two loads and
are gone with the second load; each call now works from one snapshot, and
skill bytes are still verified against it when read. compileContextProfile
keeps its signature, output and error order.
Split out of #2945 , whose prompt hook is superseded by #3453 .
2026-10-11 10:33:21 -04:00
..
2026-09-15 01:42:13 -04:00
2026-10-08 11:44:07 +09:00
2026-10-11 02:08:19 -04:00
2026-09-12 04:35:38 -04:00
2026-09-12 01:46:04 +01:00
2026-10-11 03:32:07 -04:00
2026-10-11 03:04:04 -04:00
2026-08-25 12:17:21 -04:00
2026-10-03 20:20:40 +05:30
2026-10-10 20:38:40 -04:00
2026-10-07 19:45:21 -05:00
2026-04-01 16:09:54 -07:00
2026-10-09 17:04:56 +08:00
2026-06-07 13:00:08 +08:00
2026-07-26 03:20:15 -07:00
2026-10-10 17:35:45 -04:00
2026-10-10 17:43:18 -04:00
2026-10-10 17:43:18 -04:00
2026-10-10 17:43:18 -04:00
2026-07-26 03:20:15 -07:00
2026-10-10 19:54:09 -04:00
2026-08-12 00:43:58 -04:00
2026-08-30 18:54:00 -04:00
2026-10-01 17:50:41 -05:00
2026-09-27 16:46:07 -04:00
2026-09-14 13:49:18 +05:30
2026-08-06 15:39:49 -04:00
2026-07-23 19:28:55 -07:00
2026-09-27 16:46:07 -04:00
2026-09-27 16:46:07 -04:00
2026-10-10 17:44:29 -04:00
2026-10-07 17:13:59 +00:00
2026-10-07 17:13:59 +00:00
2026-09-27 16:46:07 -04:00
2026-10-07 17:13:59 +00:00
2026-10-08 16:46:41 +00:00
2026-09-27 16:46:07 -04:00
2026-09-27 16:46:07 -04:00
2026-09-27 16:46:07 -04:00
2026-10-07 17:19:46 +00:00
2026-10-11 10:33:21 -04:00
2026-10-07 17:19:46 +00:00
2026-10-10 17:48:20 -04:00
2026-10-11 10:33:21 -04:00
2026-09-10 14:11:51 +03:00
2026-04-30 02:19:57 -04:00
2026-05-11 02:53:28 -04:00
2026-08-04 21:42:25 -04:00
2026-09-30 12:13:10 -04:00
2026-09-30 00:23:08 -04:00
2026-10-10 23:38:47 -04:00
2026-09-30 12:13:18 -04:00
2026-09-29 21:50:26 -04:00
2026-09-29 21:50:26 -04:00
2026-10-10 23:38:47 -04:00
2026-10-11 05:35:14 -04:00
2026-09-30 11:35:49 -04:00
2026-10-11 00:45:01 -04:00
2026-09-30 12:13:10 -04:00
2026-06-11 14:05:42 -04:00
2026-05-17 20:32:09 -04:00
2026-08-06 15:39:49 -04:00
2026-10-10 17:49:37 -04:00
2026-10-09 18:54:39 -04:00
2026-09-04 20:58:17 +01:00
2026-08-06 15:39:49 -04:00
2026-10-08 23:46:56 +02:00
2026-09-12 02:59:02 -04:00
2026-03-20 01:38:13 -07:00
2026-08-30 15:09:34 -04:00
2026-10-11 03:04:04 -04:00
2026-10-10 17:38:04 -04:00
2026-08-25 12:17:21 -04:00
2026-10-10 19:54:44 -04:00
2026-10-01 17:50:41 -05:00
2026-08-25 12:37:53 -04:00
2026-08-07 14:53:13 -04:00
2026-10-11 00:36:27 +08:00
2026-07-27 11:11:29 -07:00
2026-04-05 14:37:28 -07:00
2026-07-26 02:46:59 -07:00
2026-09-12 07:45:40 -04:00
2026-09-07 16:26:10 -04:00
2026-09-07 17:57:26 -04:00
2026-08-25 13:49:26 -04:00
2026-05-11 03:35:42 -04:00
2026-08-25 12:17:21 -04:00
2026-03-14 12:55:25 -07:00
2026-02-12 15:57:20 -08:00
2026-07-19 19:39:23 +02:00
2026-08-06 15:39:49 -04:00
2026-09-28 00:57:22 -04:00
2026-09-23 01:37:51 +08:00
2026-10-10 17:36:59 -04:00
2026-10-11 02:03:45 -04:00
2026-06-29 15:54:49 -07:00
2026-10-01 14:59:29 +08:00
2026-10-10 19:54:09 -04:00
2026-05-19 04:57:10 -04:00
2026-09-13 05:14:26 +08:00
2026-03-24 23:08:27 -04:00
2026-07-03 21:10:45 -07:00
2026-03-07 14:47:49 -08:00
2026-08-29 14:55:14 -04:00
2026-10-11 03:53:30 -04:00
2026-08-06 15:39:49 -04:00
2026-08-06 15:39:49 -04:00
2026-03-18 03:03:31 -07:00
2026-09-30 12:13:10 -04:00
2026-06-07 13:27:00 +08:00
2026-09-27 18:01:40 -04:00
2026-10-09 15:56:14 -04:00