Skip to content

Commit dea1bf9

Browse files
authored
Micro-optimize PATH.basename. NFC (emscripten-core#23198)
The following (18) test expectation files were updated by running the tests with `--rebaseline`: ``` other/codesize/test_codesize_cxx_ctors1.gzsize: 8507 => 8482 [-25 bytes / -0.29%] other/codesize/test_codesize_cxx_ctors1.jssize: 20871 => 20818 [-53 bytes / -0.25%] other/codesize/test_codesize_cxx_ctors2.gzsize: 8491 => 8466 [-25 bytes / -0.29%] other/codesize/test_codesize_cxx_ctors2.jssize: 20839 => 20786 [-53 bytes / -0.25%] other/codesize/test_codesize_cxx_except.gzsize: 9537 => 9516 [-21 bytes / -0.22%] other/codesize/test_codesize_cxx_except.jssize: 24716 => 24663 [-53 bytes / -0.21%] other/codesize/test_codesize_cxx_except_wasm.gzsize: 8467 => 8443 [-24 bytes / -0.28%] other/codesize/test_codesize_cxx_except_wasm.jssize: 20765 => 20711 [-54 bytes / -0.26%] other/codesize/test_codesize_cxx_except_wasm_exnref.gzsize: 8467 => 8443 [-24 bytes / -0.28%] other/codesize/test_codesize_cxx_except_wasm_exnref.jssize: 20765 => 20711 [-54 bytes / -0.26%] other/codesize/test_codesize_cxx_lto.gzsize: 8406 => 8389 [-17 bytes / -0.20%] other/codesize/test_codesize_cxx_lto.jssize: 20455 => 20402 [-53 bytes / -0.26%] other/codesize/test_codesize_cxx_mangle.gzsize: 9541 => 9523 [-18 bytes / -0.19%] other/codesize/test_codesize_cxx_mangle.jssize: 24716 => 24663 [-53 bytes / -0.21%] other/codesize/test_codesize_cxx_noexcept.gzsize: 8507 => 8482 [-25 bytes / -0.29%] other/codesize/test_codesize_cxx_noexcept.jssize: 20871 => 20818 [-53 bytes / -0.25%] other/codesize/test_codesize_files_js_fs.gzsize: 7646 => 7621 [-25 bytes / -0.33%] other/codesize/test_codesize_files_js_fs.jssize: 18784 => 18731 [-53 bytes / -0.28%] Average change: -0.26% (-0.33% - -0.19%) ```
1 parent 9d15e24 commit dea1bf9

19 files changed

+21
-26
lines changed

src/library_path.js

+3-8
Original file line numberDiff line numberDiff line change
@@ -63,14 +63,9 @@ addToLibrary({
6363
}
6464
return root + dir;
6565
},
66-
basename: (path) => {
67-
// EMSCRIPTEN return '/' for '/', not an empty string
68-
if (path === '/') return '/';
69-
path = path.replace(/\/+$/g, "");
70-
var lastSlash = path.lastIndexOf('/');
71-
if (lastSlash === -1) return path;
72-
return path.substr(lastSlash+1);
73-
},
66+
// This differs from node's path.basename in that it returns '/' for '/'
67+
// rather than the empty string.
68+
basename: (path) => path && path.match(/([^\/]+|\/)\/*$/)[1],
7469
join: (...paths) => PATH.normalize(paths.join('/')),
7570
join2: (l, r) => PATH.normalize(l + '/' + r),
7671
},
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8507
1+
8482
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20871
1+
20818
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8491
1+
8466
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20839
1+
20786
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9537
1+
9516
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24716
1+
24663
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8467
1+
8443
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20765
1+
20711
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8467
1+
8443
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20765
1+
20711
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8406
1+
8389
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20455
1+
20402
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
9541
1+
9523
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
24716
1+
24663
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8507
1+
8482
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
20871
1+
20818
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
7646
1+
7621
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
18784
1+
18731

0 commit comments

Comments
 (0)