Commit a6ced7d
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 f5f21d3 commit a6ced7dCopy full SHA for a6ced7d
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 | |
| ||
385 | 384 | |
386 | 385 | |
387 | 386 | |
388 | | - |
389 | | - |
390 | | - |
391 | | - |
392 | | - |
393 | | - |
394 | | - |
395 | | - |
396 | | - |
397 | | - |
398 | | - |
399 | | - |
400 | | - |
401 | | - |
| 387 | + |
| 388 | + |
402 | 389 | |
403 | | - |
| 390 | + |
| 391 | + |
| 392 | + |
| 393 | + |
404 | 394 | |
405 | 395 | |
| 396 | + |
| 397 | + |
| 398 | + |
| 399 | + |
| 400 | + |
| 401 | + |
| 402 | + |
| 403 | + |
| 404 | + |
| 405 | + |
| 406 | + |
| 407 | + |
| 408 | + |
| 409 | + |
406 | 410 | |
407 | 411 | |
408 | | - |
409 | | - |
| 412 | + |
| 413 | + |
410 | 414 | |
411 | 415 | |
412 | 416 | |
| ||
563 | 567 | |
564 | 568 | |
565 | 569 | |
566 | | - |
| 570 | + |
| 571 | + |
567 | 572 | |
568 | | - |
569 | | - |
| 573 | + |
| 574 | + |
570 | 575 | |
571 | | - |
| 576 | + |
572 | 577 | |
573 | | - |
| 578 | + |
574 | 579 | |
575 | 580 | |
576 | 581 | |
| ||
744 | 749 | |
745 | 750 | |
746 | 751 | |
747 | | - |
748 | | - |
749 | | - |
750 | | - |
751 | | - |
| 752 | + |
752 | 753 | |
753 | 754 | |
754 | 755 | |
| ||
909 | 910 | |
910 | 911 | |
911 | 912 | |
912 | | - |
| 913 | + |
913 | 914 | |
914 | 915 | |
915 | 916 | |
916 | | - |
| 917 | + |
917 | 918 | |
918 | 919 | |
919 | 920 | |
920 | 921 | |
921 | | - |
922 | | - |
| 922 | + |
| 923 | + |
923 | 924 | |
924 | 925 | |
925 | 926 | |
| ||
1130 | 1131 | |
1131 | 1132 | |
1132 | 1133 | |
1133 | | - |
| 1134 | + |
| 1135 | + |
| 1136 | + |
1134 | 1137 | |
1135 | 1138 | |
1136 | 1139 | |
| ||
1180 | 1183 | |
1181 | 1184 | |
1182 | 1185 | |
| 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 | |
1197 | | - |
| 1201 | + |
1198 | 1202 | |
1199 | 1203 | |
1200 | 1204 | |
1201 | 1205 | |
1202 | 1206 | |
1203 | 1207 | |
1204 | 1208 | |
1205 | | - |
| 1209 | + |
1206 | 1210 | |
1207 | 1211 | |
1208 | 1212 | |
| ||
1220 | 1224 | |
1221 | 1225 | |
1222 | 1226 | |
1223 | | - |
1224 | | - |
1225 | | - |
| 1227 | + |
| 1228 | + |
| 1229 | + |
| 1230 | + |
1226 | 1231 | |
1227 | 1232 | |
1228 | 1233 | |
| ||
1247 | 1252 | |
1248 | 1253 | |
1249 | 1254 | |
1250 | | - |
| 1255 | + |
1251 | 1256 | |
1252 | 1257 | |
1253 | 1258 | |
| ||
1265 | 1270 | |
1266 | 1271 | |
1267 | 1272 | |
1268 | | - |
| 1273 | + |
| 1274 | + |
1269 | 1275 | |
1270 | 1276 | |
1271 | | - |
| 1277 | + |
1272 | 1278 | |
1273 | 1279 | |
1274 | | - |
| 1280 | + |
1275 | 1281 | |
1276 | 1282 | |
1277 | 1283 | |
1278 | 1284 | |
1279 | | - |
| 1285 | + |
| 1286 | + |
1280 | 1287 | |
1281 | 1288 | |
1282 | 1289 | |
1283 | | - |
| 1290 | + |
| 1291 | + |
1284 | 1292 | |
1285 | 1293 | |
1286 | | - |
| 1294 | + |
1287 | 1295 | |
1288 | 1296 | |
1289 | | - |
| 1297 | + |
1290 | 1298 | |
1291 | 1299 | |
1292 | 1300 | |
1293 | 1301 | |
1294 | 1302 | |
1295 | 1303 | |
1296 | | - |
| 1304 | + |
| 1305 | + |
1297 | 1306 | |
1298 | 1307 | |
1299 | 1308 | |
1300 | | - |
| 1309 | + |
| 1310 | + |
1301 | 1311 | |
1302 | 1312 | |
1303 | | - |
| 1313 | + |
| 1314 | + |
| 1315 | + |
1304 | 1316 | |
1305 | 1317 | |
1306 | | - |
| 1318 | + |
1307 | 1319 | |
1308 | 1320 | |
1309 | 1321 | |
| ||
1312 | 1324 | |
1313 | 1325 | |
1314 | 1326 | |
1315 | | - |
| 1327 | + |
| 1328 | + |
1316 | 1329 | |
1317 | 1330 | |
1318 | 1331 | |
|
0 commit comments