Takuto Ikuta
9ade5d1289
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-08-11 13:06:14 -07:00
..
2022-08-11 13:06:13 -07: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
2021-09-27 09:44:54 -07: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-08-11 13:06:14 -07:00
2022-08-11 13:06:06 -07:00
2022-08-05 15:51:35 -07:00
2022-03-04 13:24:18 -08:00
2022-08-11 13:06:13 -07:00
2022-03-16 17:53:07 -07:00
2022-02-04 13:58:28 -08:00
2021-09-14 09:30:54 -07:00
2021-10-28 09:57:09 -07:00
2022-04-13 23:56:08 -07:00
2022-07-12 07:17:28 -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
2022-07-11 16:26:33 -07:00
2022-05-26 15:59:27 -07:00
2022-08-11 13:06:07 -07: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-08-11 13:06:08 -07: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-06-21 10:12:15 -07:00
2022-04-25 11:31:12 -07:00
2021-09-28 10:31:02 -07:00
2022-06-20 16:20:45 -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-08-10 21:52:36 -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-07-14 11:24:11 -07:00
2022-06-08 14:27:51 -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
2021-09-03 11:35: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