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