Commit e2f03c8
buffer: improve performance of multiple Buffer operations
- copyBytesFrom: calculate byte offsets directly instead of
slicing into an intermediate typed array
- toString('hex'): use V8 Uint8Array.prototype.toHex() builtin
- fill: add single-char ASCII fast path
- indexOf: use indexOfString directly for ASCII encoding
- swap16/32/64: add V8 Fast API functions
PR-URL: #61871
Reviewed-By: Stephen Belanger <admin@stephenbelanger.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: James M Snell <jasnell@gmail.com>1 parent 2c63d30 commit e2f03c8Copy full SHA for e2f03c8
10 files changed
+280-70Lines changed: 280 additions & 70 deletions
File tree
Expand file treeCollapse file tree
Open diff view settings
Filter options
- benchmark/buffers
- lib
- src
- test/parallel
Expand file treeCollapse file tree
Open diff view settings
Collapse file
benchmark/buffers/buffer-bytelength-string.js
Copy file name to clipboardExpand all lines: benchmark/buffers/buffer-bytelength-string.js+1-1Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
4 | 4 | |
5 | 5 | |
6 | 6 | |
7 | | - |
| 7 | + |
8 | 8 | |
9 | 9 | |
10 | 10 | |
|
Collapse file
benchmark/buffers/buffer-copy-bytes-from.js
Copy file name to clipboard+31Lines changed: 31 additions & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
| 1 | + |
| 2 | + |
| 3 | + |
| 4 | + |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | + |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | + |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | + |
| 28 | + |
| 29 | + |
| 30 | + |
| 31 | + |
Collapse file
benchmark/buffers/buffer-fill.js
Copy file name to clipboardExpand all lines: benchmark/buffers/buffer-fill.js+1Lines changed: 1 addition & 0 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
10 | 10 | |
11 | 11 | |
12 | 12 | |
| 13 | + |
13 | 14 | |
14 | 15 | |
15 | 16 | |
|
Collapse file
benchmark/buffers/buffer-indexof.js
Copy file name to clipboardExpand all lines: benchmark/buffers/buffer-indexof.js+1-1Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
19 | 19 | |
20 | 20 | |
21 | 21 | |
22 | | - |
| 22 | + |
23 | 23 | |
24 | 24 | |
25 | 25 | |
|
Collapse file
benchmark/buffers/buffer-tostring.js
Copy file name to clipboardExpand all lines: benchmark/buffers/buffer-tostring.js+1-1Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
3 | 3 | |
4 | 4 | |
5 | 5 | |
6 | | - |
| 6 | + |
7 | 7 | |
8 | 8 | |
9 | 9 | |
|
Collapse file
+67-54Lines changed: 67 additions & 54 deletions
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| ||
50 | 50 | |
51 | 51 | |
52 | 52 | |
53 | | - |
54 | 53 | |
55 | 54 | |
56 | 55 | |
| ||
383 | 382 | |
384 | 383 | |
385 | 384 | |
386 | | - |
387 | | - |
388 | | - |
389 | | - |
390 | | - |
391 | | - |
392 | | - |
393 | | - |
394 | | - |
395 | | - |
396 | | - |
397 | | - |
398 | | - |
399 | | - |
| 385 | + |
| 386 | + |
400 | 387 | |
401 | | - |
| 388 | + |
| 389 | + |
| 390 | + |
| 391 | + |
402 | 392 | |
403 | 393 | |
| 394 | + |
| 395 | + |
| 396 | + |
| 397 | + |
| 398 | + |
| 399 | + |
| 400 | + |
| 401 | + |
| 402 | + |
| 403 | + |
| 404 | + |
| 405 | + |
| 406 | + |
| 407 | + |
404 | 408 | |
405 | 409 | |
406 | | - |
407 | | - |
| 410 | + |
| 411 | + |
408 | 412 | |
409 | 413 | |
410 | 414 | |
| ||
551 | 555 | |
552 | 556 | |
553 | 557 | |
554 | | - |
| 558 | + |
| 559 | + |
555 | 560 | |
556 | | - |
557 | | - |
| 561 | + |
| 562 | + |
558 | 563 | |
559 | | - |
| 564 | + |
560 | 565 | |
561 | | - |
| 566 | + |
562 | 567 | |
563 | 568 | |
564 | 569 | |
| ||
732 | 737 | |
733 | 738 | |
734 | 739 | |
735 | | - |
736 | | - |
737 | | - |
738 | | - |
739 | | - |
| 740 | + |
740 | 741 | |
741 | 742 | |
742 | 743 | |
| ||
897 | 898 | |
898 | 899 | |
899 | 900 | |
900 | | - |
| 901 | + |
901 | 902 | |
902 | 903 | |
903 | 904 | |
904 | | - |
| 905 | + |
905 | 906 | |
906 | 907 | |
907 | 908 | |
908 | 909 | |
909 | | - |
910 | | - |
| 910 | + |
| 911 | + |
911 | 912 | |
912 | 913 | |
913 | 914 | |
| ||
1118 | 1119 | |
1119 | 1120 | |
1120 | 1121 | |
1121 | | - |
| 1122 | + |
| 1123 | + |
| 1124 | + |
1122 | 1125 | |
1123 | 1126 | |
1124 | 1127 | |
| ||
1168 | 1171 | |
1169 | 1172 | |
1170 | 1173 | |
| 1174 | + |
1171 | 1175 | |
1172 | 1176 | |
1173 | | - |
| 1177 | + |
1174 | 1178 | |
1175 | 1179 | |
1176 | 1180 | |
1177 | 1181 | |
1178 | | - |
| 1182 | + |
1179 | 1183 | |
1180 | 1184 | |
1181 | 1185 | |
1182 | 1186 | |
1183 | | - |
| 1187 | + |
1184 | 1188 | |
1185 | | - |
| 1189 | + |
1186 | 1190 | |
1187 | 1191 | |
1188 | 1192 | |
1189 | 1193 | |
1190 | 1194 | |
1191 | 1195 | |
1192 | 1196 | |
1193 | | - |
| 1197 | + |
1194 | 1198 | |
1195 | 1199 | |
1196 | 1200 | |
| ||
1208 | 1212 | |
1209 | 1213 | |
1210 | 1214 | |
1211 | | - |
1212 | | - |
1213 | | - |
| 1215 | + |
| 1216 | + |
| 1217 | + |
| 1218 | + |
1214 | 1219 | |
1215 | 1220 | |
1216 | 1221 | |
| ||
1235 | 1240 | |
1236 | 1241 | |
1237 | 1242 | |
1238 | | - |
| 1243 | + |
1239 | 1244 | |
1240 | 1245 | |
1241 | 1246 | |
| ||
1253 | 1258 | |
1254 | 1259 | |
1255 | 1260 | |
1256 | | - |
| 1261 | + |
| 1262 | + |
1257 | 1263 | |
1258 | 1264 | |
1259 | | - |
| 1265 | + |
1260 | 1266 | |
1261 | 1267 | |
1262 | | - |
| 1268 | + |
1263 | 1269 | |
1264 | 1270 | |
1265 | 1271 | |
1266 | 1272 | |
1267 | | - |
| 1273 | + |
| 1274 | + |
1268 | 1275 | |
1269 | 1276 | |
1270 | 1277 | |
1271 | | - |
| 1278 | + |
| 1279 | + |
1272 | 1280 | |
1273 | 1281 | |
1274 | | - |
| 1282 | + |
1275 | 1283 | |
1276 | 1284 | |
1277 | | - |
| 1285 | + |
1278 | 1286 | |
1279 | 1287 | |
1280 | 1288 | |
1281 | 1289 | |
1282 | 1290 | |
1283 | 1291 | |
1284 | | - |
| 1292 | + |
| 1293 | + |
1285 | 1294 | |
1286 | 1295 | |
1287 | 1296 | |
1288 | | - |
| 1297 | + |
| 1298 | + |
1289 | 1299 | |
1290 | 1300 | |
1291 | | - |
| 1301 | + |
| 1302 | + |
| 1303 | + |
1292 | 1304 | |
1293 | 1305 | |
1294 | | - |
| 1306 | + |
1295 | 1307 | |
1296 | 1308 | |
1297 | 1309 | |
| ||
1300 | 1312 | |
1301 | 1313 | |
1302 | 1314 | |
1303 | | - |
| 1315 | + |
| 1316 | + |
1304 | 1317 | |
1305 | 1318 | |
1306 | 1319 | |
|
0 commit comments