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