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