Takuto Ikuta
c97953a72d
checkout.c: enable fscache for checkout again
...
This is retry of #1419 .
I added flush_fscache macro to flush cached stats after disk writing
with tests for regression reported in #1438 and #1442 .
git checkout checks each file path in sorted order, so cache flushing does not
make performance worse unless we have large number of modified files in
a directory containing many files.
Using chromium repository, I tested `git checkout .` performance when I
delete 10 files in different directories.
With this patch:
TotalSeconds: 4.307272
TotalSeconds: 4.4863595
TotalSeconds: 4.2975562
Avg: 4.36372923333333
Without this patch:
TotalSeconds: 20.9705431
TotalSeconds: 22.4867685
TotalSeconds: 18.8968292
Avg: 20.7847136
I confirmed this patch passed all tests in t/ with core_fscache=1.
Signed-off-by: Takuto Ikuta <tikuta@chromium.org >
2026-04-02 21:30:17 +02:00
..
2026-04-02 21:30:17 +02:00
2026-04-01 10:28:18 -07:00
2024-10-25 14:02:36 -04:00
2025-07-01 14:58:24 -07:00
2024-10-11 09:37:18 -07:00
2026-03-05 10:04:49 -08:00
2026-02-23 13:21:19 -08:00
2026-02-20 08:13:58 -08:00
2026-03-18 12:52:29 -07:00
2025-04-15 08:24:35 -07:00
2024-12-13 07:33:36 -08:00
2026-03-12 14:09:07 -07:00
2025-07-23 08:15:18 -07:00
2025-07-23 08:15:22 -07:00
2026-02-20 08:13:58 -08:00
2025-01-17 13:30:03 -08:00
2025-07-23 08:15:22 -07:00
2025-07-23 08:15:22 -07:00
2026-04-02 21:30:17 +02:00
2026-04-02 21:29:57 +02:00
2026-03-05 10:04:49 -08:00
2025-07-23 08:15:18 -07:00
2025-10-22 10:40:11 -07:00
2026-01-15 05:32:31 -08:00
2026-04-02 21:30:16 +02:00
2026-02-23 13:23:41 -08:00
2025-10-16 14:42:39 -07:00
2025-07-23 08:15:20 -07:00
2026-04-02 21:30:04 +02:00
2026-01-12 11:56:56 -08:00
2025-07-23 08:15:22 -07:00
2026-02-23 13:21:18 -08:00
2025-04-15 08:24:35 -07:00
2025-07-23 08:15:18 -07:00
2025-07-23 08:15:18 -07:00
2025-03-03 08:17:47 -08:00
2026-02-13 13:39:25 -08:00
2025-08-09 17:22:01 -07:00
2025-07-01 14:46:38 -07:00
2026-03-12 21:28:20 -07:00
2026-04-01 10:28:18 -07:00
2025-06-04 08:52:25 -07:00
2026-03-12 08:30:57 -07:00
2025-08-11 09:19:40 -07:00
2025-08-22 13:13:20 -07:00
2026-03-03 10:20:00 -08:00
2026-03-09 14:36:55 -07:00
2025-07-23 08:15:22 -07:00
2026-03-25 12:58:05 -07:00
2025-01-17 13:30:03 -08:00
2026-03-12 14:09:07 -07:00
2025-07-23 08:15:22 -07:00
2026-03-23 09:20:30 -07:00
2026-03-24 12:31:32 -07:00
2026-02-19 13:24:57 -08:00
2026-03-05 11:45:15 -08:00
2025-04-24 17:25:34 -07:00
2026-03-27 11:00:02 -07:00
2026-02-13 13:39:25 -08:00
2026-03-10 14:23:17 -07:00
2025-09-08 14:54:35 -07:00
2025-11-04 07:32:25 -08:00
2026-01-09 18:36:18 -08:00
2024-12-18 10:44:31 -08:00
2025-01-17 13:30:03 -08:00
2026-01-15 05:32:31 -08:00
2026-03-27 11:00:01 -07:00
2025-01-17 13:30:03 -08:00
2026-02-06 11:45:33 -08:00
2025-08-08 11:13:12 -07:00
2026-02-13 13:39:25 -08:00
2026-03-12 08:30:57 -07:00
2025-08-05 11:53:55 -07:00
2026-03-12 10:03:23 -07:00
2026-03-25 12:58:05 -07:00
2026-02-26 07:22:51 -08:00
2026-03-18 10:39:56 -07:00
2025-08-21 13:47:00 -07:00
2026-03-24 12:31:34 -07:00
2026-02-21 21:26:53 -08:00
2025-09-19 10:02:55 -07:00
2026-01-09 06:07:21 -08:00
2024-09-13 14:33:30 -07:00
2025-08-05 11:53:55 -07:00
2026-03-12 08:30:57 -07:00
2026-02-26 07:22:53 -08:00
2025-10-14 12:56:09 -07:00
2026-01-09 18:36:18 -08:00
2026-03-24 12:26:58 -07:00
2026-03-12 08:30:57 -07:00
2025-10-15 10:29:28 -07:00
2025-10-02 12:26:12 -07:00
2025-01-17 13:30:03 -08:00
2025-01-17 13:30:03 -08:00
2026-02-23 13:21:19 -08:00
2026-01-14 06:29:24 -08:00
2025-11-04 07:32:24 -08:00
2026-01-13 05:41:16 -08:00
2026-03-25 10:35:27 -07:00
2025-07-23 08:15:18 -07:00
2026-03-03 15:09:36 -08:00
2026-03-12 10:56:04 -07:00
2026-02-23 13:21:19 -08:00
2025-09-18 10:07:00 -07:00
2025-07-23 08:15:22 -07:00
2025-07-23 08:15:22 -07:00
2026-02-20 08:13:58 -08:00
2026-01-15 05:32:31 -08:00
2026-01-30 08:58:12 -08:00
2026-02-23 13:21:19 -08:00
2026-03-05 10:04:49 -08:00
2026-03-24 12:31:34 -07:00
2025-07-23 08:15:18 -07:00
2026-03-25 12:58:05 -07:00
2026-04-02 21:30:04 +02:00
2025-07-23 08:15:22 -07:00
2026-03-24 12:31:31 -07:00
2025-07-23 08:15:22 -07:00
2025-11-03 12:18:48 -08:00
2025-09-16 11:37:06 -07:00
2026-01-25 22:27:33 -08:00
2025-07-23 08:15:22 -07:00
2025-11-19 17:41:03 -08:00
2025-11-19 17:41:03 -08:00
2025-08-21 13:46:59 -07:00
2025-07-23 08:15:22 -07:00
2025-07-23 08:15:22 -07:00
2025-12-29 22:02:53 +09:00
2026-03-11 11:08:53 -07:00
2025-07-23 08:15:22 -07:00