René Scharfe
f13ca7cef5
name-rev: put struct rev_name into commit slab
...
The commit slab commit_rev_name contains a pointer to a struct rev_name,
and the actual struct is allocated separatly. Avoid that allocation and
pointer indirection by storing the full struct in the commit slab. Use
the tip_name member pointer to determine if the returned struct is
initialized.
Performance in the Linux repository measured with hyperfine before:
Benchmark #1 : ./git -C ../linux/ name-rev --all
Time (mean ± σ): 953.5 ms ± 6.3 ms [User: 901.2 ms, System: 52.1 ms]
Range (min … max): 945.2 ms … 968.5 ms 10 runs
... and with this patch:
Benchmark #1 : ./git -C ../linux/ name-rev --all
Time (mean ± σ): 851.0 ms ± 3.1 ms [User: 807.4 ms, System: 43.6 ms]
Range (min … max): 846.7 ms … 857.0 ms 10 runs
Signed-off-by: René Scharfe <l.s.r@web.de >
Signed-off-by: Junio C Hamano <gitster@pobox.com >
2020-02-05 10:24:15 -08:00
..
2019-12-25 11:22:01 -08:00
2019-10-15 13:47:59 +09:00
2019-01-02 13:05:30 -08:00
2019-12-25 11:22:01 -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
2019-09-18 11:50:09 -07:00
2019-01-24 11:55:06 -08:00
2019-09-05 14:05:12 -07:00
2019-02-06 22:05:23 -08:00
2019-12-04 10:10:37 -08:00
2019-10-11 14:24:46 +09:00
2019-12-25 11:21:58 -08:00
2019-05-13 14:22:53 +09:00
2019-11-13 11:14:16 +09:00
2019-03-08 10:31:24 +09:00
2019-12-25 11:21:57 -08:00
2019-01-29 12:47:54 -08:00
2018-11-13 14:22:02 +09:00
2019-10-15 13:48:02 +09: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
2019-10-15 13:48:02 +09:00
2019-03-20 18:34:09 +09:00
2020-01-06 14:17:51 -08:00
2019-12-10 13:11:45 -08:00
2019-03-21 12:03:35 +09:00
2019-10-28 14:05:18 +09:00
2019-11-10 16:00:54 +09:00
2019-04-01 11:57:39 +09:00
2019-10-23 14:43:11 +09:00
2019-05-13 14:22:53 +09:00
2019-02-20 12:31:56 -08:00
2019-10-11 14:24:46 +09: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
2018-11-06 12:56:29 +09: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
2019-10-07 11:32:53 +09: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:24:15 -08:00
2019-10-18 09:43:10 +09:00
2019-11-10 16:00:54 +09: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
2019-08-19 13:05:58 -07: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-01-12 13:25:18 -08:00
2019-08-19 15:04:59 -07:00
2019-02-06 22:05:27 -08:00
2019-12-11 13:48:46 -08:00
2019-11-10 18:02:14 +09:00
2019-10-11 14:24:46 +09:00
2019-01-15 15:38:29 -08:00
2019-12-10 13:11:41 -08:00
2019-10-11 14:24:48 +09:00
2019-11-20 10:19:58 +09:00
2019-07-19 11:30:21 -07:00
2019-07-29 12:38:17 -07:00
2019-01-02 13:05:30 -08:00
2018-12-15 12:24:33 +09:00
2019-05-13 14:22:54 +09:00
2019-08-19 15:04:59 -07:00
2019-05-19 16:45:30 +09:00
2019-12-30 09:07:18 -08:00
2019-12-01 09:04:37 -08:00
2018-12-26 15:41:47 -08:00
2019-12-10 13:11:43 -08:00
2019-06-05 14:39:28 -07:00
2019-11-20 10:30:18 +09: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
2019-12-01 09:04:31 -08:00
2019-05-13 14:22:53 +09:00