Kaoru0822 and Claude Opus 5.5
ef96657d6b
perf(javascript): hash each semantic evidence context once ( #1457 )
...
The semantic graph's evidence-context registry canonicalized the full
provenance context three times for every node, relation, unknown and
fingerprint: once to hash its ID and twice more to compare against the
stored row. A file has only a few distinct contexts, so nearly all of
that work repeated a known answer.
Interning now keys contexts by their canonical text. Each fact
canonicalizes once, and only a new context is hashed and checked for a
digest collision. IDs and output are unchanged; Obsidian's 334 MB
Evidence is byte-identical and analysis drops from about 47.0 s to
44.4 s.
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-09 23:21:07 -07:00
..
2026-10-09 20:18:52 +08:00
2026-10-10 01:54:42 +08:00
2026-10-07 17:16:58 +08:00
2026-10-09 20:18:52 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 00:44:32 +00:00
2026-10-10 00:44:32 +00:00
2026-10-10 05:56:01 +08:00
2026-10-09 01:55:12 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 00:44:32 +00:00
2026-10-08 13:24:24 +08:00
2026-10-08 13:24:24 +08:00
2026-10-10 02:49:46 +08:00
2026-10-09 02:40:21 +08:00
2026-10-10 14:02:02 +08:00
2026-10-10 13:21:13 +08:00
2026-10-10 03:52:13 +08:00
2026-10-10 14:02:02 +08:00
2026-10-09 20:18:52 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 20:18:52 +08:00
2026-10-10 06:34:21 +08:00
2026-10-10 06:34:21 +08:00
2026-10-10 06:34:21 +08:00
2026-10-10 02:07:30 +08:00
2026-10-10 05:56:01 +08:00
2026-10-10 02:07:30 +08:00
2026-10-07 17:57:33 +08:00
2026-10-07 17:16:58 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 13:47:15 +08:00
2026-10-09 18:30:31 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 18:30:31 +08:00
2026-10-09 20:18:52 +08:00
2026-10-10 05:11:38 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 05:56:01 +08:00
2026-10-07 17:16:58 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 05:11:38 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 06:49:02 +08:00
2026-10-09 22:46:09 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 03:52:35 +08:00
2026-10-10 03:52:35 +08:00
2026-10-10 03:52:35 +08:00
2026-10-10 03:52:35 +08:00
2026-10-10 03:52:35 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 03:52:35 +08:00
2026-10-10 03:52:35 +08:00
2026-10-10 03:52:35 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 23:35:19 +08:00
2026-10-08 04:03:23 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 22:46:08 +08:00
2026-10-07 17:16:58 +08:00
2026-10-09 23:35:19 +08:00
2026-10-07 17:16:58 +08:00
2026-10-09 20:18:52 +08:00
2026-10-10 14:04:31 +08:00
2026-10-07 17:16:58 +08:00
2026-10-07 23:53:41 +08:00
2026-10-07 19:08:45 +08:00
2026-10-10 12:03:13 +08:00
2026-10-09 22:46:09 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 01:45:00 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 13:57:24 +08:00
2026-10-10 01:45:01 +08:00
2026-10-09 22:46:09 +08:00
2026-10-10 05:56:01 +08:00
2026-10-09 22:46:09 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 01:45:01 +08:00
2026-10-10 01:45:01 +08:00
2026-10-07 17:16:58 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 23:21:07 -07:00
2026-10-09 23:21:07 -07:00
2026-10-10 03:52:13 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 03:52:13 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 13:47:15 +08:00
2026-10-10 14:04:31 +08:00
2026-10-10 06:53:42 +08:00
2026-10-10 07:40:25 +08:00
2026-10-10 14:04:31 +08:00
2026-10-10 01:45:01 +08:00
2026-10-10 01:45:00 +08:00
2026-10-10 06:39:56 +08:00
2026-10-10 01:45:01 +08:00
2026-10-10 12:03:13 +08:00
2026-10-10 01:45:00 +08:00
2026-10-10 03:52:13 +08:00
2026-10-07 17:16:58 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 22:46:09 +08:00
2026-10-10 03:52:35 +08:00
2026-10-10 01:45:01 +08:00
2026-10-09 20:18:52 +08:00
2026-10-09 22:46:09 +08:00
2026-10-10 12:25:00 +08:00
2026-10-09 23:35:19 +08:00
2026-10-10 06:53:42 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 05:56:01 +08:00
2026-10-10 14:04:31 +08:00
2026-10-09 20:18:52 +08:00
2026-10-10 06:38:47 +08:00
2026-10-10 05:56:01 +08:00
2026-10-08 04:03:23 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 00:44:32 +00:00
2026-10-09 23:35:19 +08:00
2026-10-10 10:24:38 +08:00
2026-10-09 05:15:23 +08:00
2026-10-10 05:56:01 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 01:45:01 +08:00
2026-10-10 10:24:38 +08:00
2026-10-10 00:44:32 +00:00
2026-10-07 17:16:58 +08:00
2026-10-10 05:56:01 +08:00
2026-10-09 23:35:19 +08:00
2026-10-09 23:35:19 +08:00
2026-10-07 17:16:58 +08:00
2026-10-10 05:56:01 +08:00