Eric Traut
8f1490eabe
Stream daemon executable hashing off the async runtime ( #47591 )
...
## Why
Debug executables can be hundreds of megabytes. Computing their identity previously loaded the entire file into memory and hashed it on an async runtime thread.
## What changed
Stream executable contents into the BLAKE3 hasher using `tokio::task::spawn_blocking`, preserving the existing digest format while avoiding whole-file allocation and moving hashing off the async runtime.
## Testing
Expand the executable identity test to verify compatibility with whole-file hashing for a file spanning multiple reads with a partial final buffer and for an empty file, and to confirm that changing a byte changes the identity.
GitOrigin-RevId: 528103397395313d170ec720fefc8c5ab3676956
2026-09-23 17:08:29 +00:00
..
2026-09-22 16:07:38 +00:00
2026-08-24 22:40:35 +00:00
2026-09-23 15:05:59 +00:00
2026-09-23 15:05:59 +00:00
2026-09-23 00:49:19 +00:00
2026-09-23 17:08:29 +00:00
2026-09-23 16:15:55 +00:00
2026-09-22 06:36:09 +00:00
2026-09-23 04:25:28 +00:00
2026-08-20 08:10:08 +00:00
2026-09-11 20:10:02 +00:00
2026-09-18 00:25:37 +00:00
2026-09-21 22:58:49 +00:00
2026-09-23 00:47:34 +00:00
2026-09-23 00:47:07 +00:00
2026-09-07 16:55:06 +00:00
2026-08-14 05:03:39 +00:00
2026-08-17 22:37:14 +00:00
2026-09-23 04:25:28 +00:00
2026-09-23 00:47:07 +00:00
2026-09-03 01:46:37 +00:00
2026-08-28 19:44:50 +00:00
2026-09-23 00:47:07 +00:00
2026-09-23 00:47:34 +00:00
2026-09-21 22:49:17 +00:00
2026-09-21 13:57:22 +00:00
2026-09-23 17:02:51 +00:00
2026-09-15 17:32:33 +00:00
2026-09-22 23:37:39 +00:00
2026-09-14 19:12:59 +00:00
2026-09-21 07:01:52 +00:00
2026-09-05 01:25:06 +00:00
2026-09-23 00:47:07 +00:00
2026-08-31 21:27:51 +00:00
2026-09-15 18:23:08 +00:00
2026-09-18 22:40:37 +00:00
2026-09-23 17:02:51 +00:00
2026-09-11 01:57:54 +00:00
2026-09-22 23:37:39 +00:00
2026-09-05 12:17:32 +00:00
2026-09-23 15:05:59 +00:00
2026-09-23 00:48:53 +00:00
2026-09-17 04:37:54 +00:00
2026-08-17 04:37:50 +00:00
2026-09-23 16:15:55 +00:00
2026-09-17 04:23:45 +00:00
2026-09-23 12:09:05 +00:00
2026-09-22 23:37:39 +00:00
2026-09-19 01:21:32 +00:00
2026-09-06 20:52:29 +00:00
2026-09-23 16:15:55 +00:00
2026-09-23 16:15:55 +00:00
2026-09-10 00:26:30 +00:00
2026-09-23 00:48:53 +00:00
2026-09-11 21:59:24 +00:00
2026-09-21 18:04:14 +00:00
2026-09-23 00:48:53 +00:00
2026-09-17 19:42:56 +00:00
2026-09-20 17:36:48 +00:00
2026-09-23 00:47:34 +00:00
2026-09-22 19:38:06 +00:00
2026-09-23 00:07:56 +00:00
2026-09-22 21:57:52 +00:00
2026-09-21 23:43:52 +00:00
2026-09-23 00:47:34 +00:00
2026-09-01 17:17:45 +00:00
2026-09-19 01:49:01 +00:00
2026-09-21 23:06:36 +00:00
2026-09-23 15:05:59 +00:00
2026-09-11 03:16:01 +00:00
2026-09-22 23:37:39 +00:00
2026-08-21 16:45:05 +00:00
2026-09-22 17:31:02 +00:00
2026-09-23 15:01:19 +00:00
2026-08-28 01:14:02 +00:00
2026-09-19 03:03:41 +00:00
2026-09-23 00:56:17 +00:00
2026-09-15 18:06:03 +00:00
2026-09-09 04:00:10 +00:00
2026-09-05 05:21:42 +00:00
2026-09-22 15:05:27 +00:00
2026-09-16 09:03:41 +00:00
2026-09-02 18:34:27 +00:00
2026-09-23 00:47:07 +00:00
2026-09-23 16:15:55 +00:00
2026-09-21 23:27:42 +00:00
2026-09-23 16:39:22 +00:00
2026-09-16 16:56:41 +00:00
2026-09-08 00:13:28 +00:00
2026-09-21 18:19:07 +00:00
2026-09-20 20:16:51 +00:00
2026-09-23 04:25:28 +00:00
2026-09-22 23:37:39 +00:00
2026-09-23 00:47:34 +00:00
2026-09-18 00:36:07 +00:00
2026-09-23 00:47:07 +00:00
2026-09-13 18:53:06 +00:00
2026-09-08 21:19:02 +00:00
2026-09-23 04:25:28 +00:00
2026-09-23 04:25:28 +00:00
2026-09-11 06:45:09 +00:00