Takuto Ikuta
002cbae4bf
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-10 02:10:18 +00:00
..
2026-04-10 02:10:18 +00:00
2026-04-09 15:11:37 -07:00
2026-04-07 14:59:28 -07:00
2026-03-20 21:58:58 -07:00
2026-03-30 13:14:18 -07:00
2026-03-18 12:52:29 -07:00
2026-04-09 11:22:17 -07:00
2026-03-30 13:14:19 -07:00
2026-02-20 08:13:58 -08:00
2026-03-30 13:14:20 -07:00
2026-03-30 13:14:18 -07:00
2026-04-10 02:10:18 +00:00
2026-04-10 02:10:13 +00:00
2026-04-09 15:11:48 -07:00
2026-01-15 05:32:31 -08:00
2026-04-10 02:10:17 +00:00
2026-03-26 12:47:17 -07:00
2026-04-10 02:10:15 +00:00
2026-01-12 11:56:56 -08:00
2026-03-30 13:14:19 -07:00
2026-03-30 13:14:19 -07:00
2026-02-13 13:39:25 -08:00
2026-03-30 13:14:20 -07:00
2026-03-30 13:14:19 -07:00
2026-03-26 12:42:57 -07:00
2026-04-07 14:59:27 -07:00
2026-04-09 11:22:16 -07:00
2026-03-03 10:20:00 -08:00
2026-04-08 10:19:17 -07:00
2026-04-09 10:59:29 -07:00
2026-03-25 12:58:05 -07:00
2026-03-30 13:14:20 -07:00
2026-03-30 13:14:20 -07:00
2026-03-30 13:14:20 -07:00
2026-04-06 10:17:36 -07:00
2026-04-06 09:18:52 -07:00
2026-04-08 10:19:17 -07:00
2026-03-30 13:14:21 -07:00
2026-03-27 11:00:02 -07:00
2026-02-13 13:39:25 -08:00
2026-04-03 13:01:08 -07:00
2026-03-30 13:14:19 -07:00
2025-11-04 07:32:25 -08:00
2026-01-09 18:36:18 -08:00
2026-01-15 05:32:31 -08:00
2026-03-30 13:14:20 -07:00
2026-02-06 11:45:33 -08:00
2026-02-13 13:39:25 -08:00
2026-03-12 08:30:57 -07:00
2026-03-23 08:33:10 -07:00
2026-03-12 10:03:23 -07:00
2026-03-29 19:13:13 -07:00
2026-03-30 13:14:18 -07:00
2026-04-09 15:11:44 -07:00
2026-03-16 11:21:08 -07:00
2026-04-06 15:42:49 -07:00
2026-02-21 21:26:53 -08:00
2026-01-09 06:07:21 -08:00
2026-03-12 08:30:57 -07:00
2026-03-25 12:35:16 -07:00
2026-03-30 13:14:19 -07:00
2026-03-24 12:26:58 -07:00
2026-04-09 15:11:48 -07:00
2026-03-23 08:33:10 -07:00
2026-04-09 11:22:16 -07:00
2026-04-09 15:11:36 -07:00
2025-11-04 07:32:24 -08:00
2026-04-01 21:34:25 -07:00
2026-03-25 10:35:27 -07:00
2026-03-30 13:14:19 -07:00
2026-04-06 12:02:30 -07:00
2026-04-09 15:11:48 -07:00
2026-03-30 13:14:19 -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-03-31 20:43:14 -07:00
2026-03-30 13:14:19 -07:00
2026-04-09 12:19:51 -07:00
2026-03-30 13:14:20 -07:00
2026-03-30 13:14:19 -07:00
2026-04-10 02:10:15 +00:00
2026-03-24 12:31:31 -07:00
2026-04-09 15:11:49 -07:00
2026-04-09 15:11:49 -07:00
2026-01-25 22:27:33 -08:00
2026-03-30 13:14:19 -07:00
2026-03-30 13:14:19 -07:00
2025-12-29 22:02:53 +09:00
2026-04-09 15:11:37 -07:00