一直很喜欢ruby,但是最近关注学习node.js,从语言设计层面上来说,ruby肯定比javascript优雅,因为javascript就是一个工程师为了完成任务而只花了10天时间设计出来的,但是ruby就不一样了,是精雕细选,厚积薄发而诞生的。但是javascript生的好,生在浏览器之家,然后搭载上互联网这列高铁而驶向远方并威名远扬。 学习过程中总是听说node.js的速度对比其他脚本语言是如何快,为了测试两者的速度究竟相差多少,特意拉入了编译语言的代表C++,代码和测试结果如下: node.js(v10.19.0):耗时: 7s
count=0; str="s"; for(i=0;i<1000000;i++){ count+=1; str+=count.toString(); console.log(i); } //console.log(str); //console.log("size=" ); //console.log( str.length);
ruby(v2.7.0):耗时: 550s count=0; str="s"; begin count+=1 str+=count.to_s puts count end while count<1000000 #puts str
C++ (gcc v9.3.0):耗时: 2.5s #include <QCoreApplication> #include <QString>
int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QString str="s"; for(int i=0;i<1000000;i++){ str+=QString::number(i); printf("%d\n",i); } exit(0); return a.exec(); }
结论: node.js速度相当牛逼,几乎跟C++同一数量级,ruby还是有待提高啊,王者肯定是C++了。
|