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