gpt4 book ai didi

javascript - 编写相同的代码可以获得性能提升吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:49:21 25 4
gpt4 key购买 nike

我想知道是否

function pathJoin(uri,file){
return url.format(
url.parse(
path.normalize(
path.join(uri, file)
).split(
path.delimiter
).join("/")
)
);
}

function pathJoin(uri,file){
var joined_path = path.join(uri, file);
var normalized = path.normalize( joined_path );
var splitted = normalized.split(path.delimiter);
var joined = splitted.join("/");
var parsed = url.parse(joined);
return url.format(parsed);
}

执行速度同样快。多次从一个函数切换到另一个函数不会有任何惩罚吗?

最佳答案

注意:path.join 已经返回规范化路径。它们具有相同的性能...并且不要使用 jsperf 来对 Node 进行基准测试。

代码

var path = require ("path");
var url = require ("url");
var speedy = require ("speedy");

function pathJoin(uri,file){
return url.format(
url.parse(
path.normalize(
path.join(uri, file)
).split(
path.delimiter
).join("/")
)
);
}

function pathJoin2(uri,file){
var joined_path = path.join(uri, file);
var normalized = path.normalize( joined_path );
var splitted = normalized.split(path.delimiter);
var joined = splitted.join("/");
var parsed = url.parse(joined);
return url.format(parsed);
}

speedy.timeout (20000);
speedy.run ({
"1": function (){
pathJoin ("http://www.google.com", "file");
},
"2": function (){
pathJoin2 ("http://www.google.com", "file");
}
})

结果

File: t.js

Node v0.10.20
V8 v3.14.5.9
Speedy v0.0.8

Benchmarks: 2
Timeout: 20000ms (20s 0ms)
Samples: 3
Total time per benchmark: ~60000ms (1m 0s 0ms)
Total time: ~120000ms (2m 0s 0ms)

Higher is better (ops/sec)

1
50,931 ± 0.1%
2
51,029 ± 0.1%

Elapsed time: 120063ms (2m 0s 63ms)

关于javascript - 编写相同的代码可以获得性能提升吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19378477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com