Petr Makhnev
a39c26507c
builtin: speed up string concatenation and repeat()
method with vmemcpy instead of for
loop for copying data ( #18206 )
...
These changes almost do not speed up the program with the `-prod` flag,
since modern С compilers can do such optimization on their own, but in
normal mode, the performance gain is from 1.6 (concatenation) to 1.8 (repeat) times.
Concatenation:
Old (`for` loop):
Time (mean): 3.699 s +- 0.071 s [User: 3.629 s, System: 0.069 s]
Range (min ... max): 3.548 s ... 3.741 s 10 runs
New (vmemcpy):
Time (mean): 2.305 s +- 0.065 s [User: 2.263 s, System: 0.041 s]
Range (min ... max): 2.172 s ... 2.355 s 10 runs
`vmemcpy version` ran 1.60 +- 0.05 times faster than 'for loop version'
2023-05-19 16:18:23 +03:00
..
2023-04-04 13:47:48 +03:00
2023-01-24 22:19:30 +02:00
2023-03-04 11:24:33 +02:00
2022-07-21 21:01:30 +03:00
2023-02-18 20:34:15 +02:00
2022-12-14 09:44:14 +02:00
2023-02-18 20:34:15 +02:00
2023-04-09 09:48:15 +03:00
2021-08-12 21:46:38 +03:00
2023-03-28 22:55:57 +02:00
2022-07-07 18:28:29 +03:00
2022-05-03 09:17:53 +03:00
2022-05-03 09:17:53 +03:00
2023-05-03 20:33:52 +03:00
2023-04-14 08:28:22 +02:00
2021-04-19 19:01:47 +03:00
2023-03-28 22:55:57 +02:00
2023-05-03 20:33:52 +03:00
2022-05-17 14:56:34 +03:00
2022-05-04 21:17:05 +03:00
2023-03-28 22:55:57 +02:00
2023-05-03 20:33:52 +03:00
2023-05-13 01:08:30 +02:00
2022-04-15 14:58:56 +03:00
2022-12-22 20:08:53 +02:00
2023-04-16 08:00:19 +03:00
2021-04-22 07:07:56 +03:00
2022-11-15 16:53:13 +03:00
2023-03-28 22:55:57 +02:00
2023-03-28 22:55:57 +02:00
2021-12-22 16:34:02 +03:00
2022-08-17 17:18:10 +03:00
2023-03-28 22:55:57 +02:00
2022-07-21 21:01:30 +03:00
2022-12-22 21:47:39 +02:00
2022-11-15 16:53:13 +03:00
2022-12-22 21:36:33 +02:00
2022-04-15 14:58:56 +03:00
2023-03-28 22:55:57 +02:00
2022-02-11 15:52:33 +02:00
2023-03-28 22:55:57 +02:00
2022-11-15 16:53:13 +03:00
2022-01-14 17:27:38 +02:00
2022-04-15 14:58:56 +03:00
2023-03-28 22:55:57 +02:00
2023-04-13 07:38:21 +02:00
2022-11-15 16:53:13 +03:00
2022-04-15 15:35:35 +03:00
2022-12-27 15:13:15 +02:00
2023-03-28 22:55:57 +02:00
2022-03-06 20:01:22 +03:00
2023-03-28 22:55:57 +02:00
2023-04-04 13:47:48 +03:00
2023-03-28 22:55:57 +02:00
2023-05-19 16:18:23 +03:00
2022-11-15 16:53:13 +03:00
2022-11-28 09:46:04 +02:00
2023-03-28 22:55:57 +02:00