Nick Craig-Wood
2ed0c688f6
pikpak: use pooled memory for the gcid hash buffer and spool unknown-size uploads to disk
...
When the source can't be re-opened, the whole input is read once to
compute its gcid before upload and held back for the upload proper. For
inputs at or below --pikpak-hash-memory-limit this used a bytes.Buffer,
a fresh heap allocation of up to the limit (and more while growing) per
file.
Hold the data in a buffer from the global memory pool instead so the
pages are reused and released on cleanup.
Inputs of unknown size were also always held in memory regardless of
their length, as only sizes above the limit chose the temp file.
Spool unknown sizes to the temp file so a large stream can't exhaust
memory.
2026-09-01 14:21:52 +01:00
..
2024-08-08 13:41:31 +01:00
2026-05-01 13:41:07 +01:00
2026-07-31 13:21:59 +01:00
2026-08-25 09:31:40 +01:00
2026-08-21 12:23:31 +01:00
2026-03-03 14:01:11 +00:00
2026-08-21 17:53:41 +01:00
2026-07-12 13:26:17 +01:00
2026-08-21 12:23:31 +01:00
2026-08-21 12:23:31 +01:00
2026-07-16 14:47:03 +01:00
2026-08-03 20:58:14 +01:00
2026-08-27 17:28:04 +01:00
2026-01-18 20:48:33 +01:00
2026-07-27 12:27:02 +01:00
2026-08-30 13:07:41 +01:00
2026-08-27 14:04:45 +01:00
2024-09-06 18:20:10 +01:00
2025-02-28 11:31:14 +00:00
2026-09-01 14:21:52 +01:00
2026-07-13 11:22:04 +01:00
2026-08-21 12:23:31 +01:00
2026-08-21 12:23:31 +01:00
2026-08-21 12:23:31 +01:00
2025-12-01 19:04:02 +00:00
2026-07-07 12:35:37 +01:00
2026-07-13 10:44:03 +01:00
2026-07-13 13:53:29 +01:00
2026-07-14 14:13:49 +01:00
2026-08-21 12:23:31 +01:00
2026-09-01 14:21:52 +01:00
2026-08-21 12:23:31 +01:00
2026-07-17 18:29:39 +01:00
2026-08-11 19:32:12 +01:00
2026-08-27 14:14:40 +01:00
2026-07-14 14:13:49 +01:00
2025-06-24 15:04:45 +01:00
2026-08-21 12:23:31 +01:00
2026-08-28 14:10:46 +01:00
2026-07-13 13:49:11 +01:00
2026-07-20 17:37:16 +01:00
2025-12-17 10:21:12 +00:00
2026-07-14 14:13:49 +01:00
2026-09-01 10:52:49 +01:00
2026-09-01 14:21:52 +01:00
2026-08-21 12:23:31 +01:00
2026-08-04 19:29:21 +01:00
2026-04-20 12:16:10 +01:00
2026-09-01 14:21:52 +01:00
2026-07-14 14:13:49 +01:00
2025-07-31 11:38:51 +01:00
2026-08-29 13:13:34 +01:00
2026-07-17 18:29:39 +01:00
2025-04-08 15:14:00 +01:00
2026-09-01 14:21:52 +01:00
2026-08-27 14:07:15 +01:00
2026-07-09 17:50:26 +01:00
2026-08-30 13:06:06 +01:00
2026-09-01 14:21:52 +01:00
2026-02-18 12:11:52 +00:00
2026-08-11 19:32:12 +01:00
2026-08-30 13:06:06 +01:00
2024-04-22 19:29:12 +02:00
2026-05-06 10:51:16 +01:00
2026-07-02 11:30:15 +01:00
2026-07-17 18:29:39 +01:00
2025-09-14 15:58:20 +01:00
2026-08-26 12:00:22 +01:00
2026-08-21 17:46:05 +01:00
2026-08-21 12:23:31 +01:00