我用多种语言编写了相同的控制台应用程序。应用程序要求用户输入一个数字并从 1 计数到该数字,将每个数字打印在控制台中的单独一行上。我实际上预计 vb.net 在编程语言中表现最差,让我好奇的是它没有,它实际上是最快的。
VB.Net - 通过 VS 调试器运行:
Sub Main()
Console.Write("Give me a number, any number: ")
For i = 1 To CInt(Console.ReadLine)
Console.WriteLine(i)
Next
Console.ReadLine()
End Sub
C++ - 通过 VS 调试器运行(比 VB 慢大约 5 倍):
#include <iostream>
using namespace std;
int main() {
cout << "Give me a number, any number: ";
int number; cin >> number;
cout << '\n';
for (int i = 1; i <= number; i++) cout << i << '\n';
while (true) {}
}
Haskell - 从控制台编译和运行(仅比 VB 稍慢):
import System.IO
import Control.Monad
main = do
putStr "Give me a number, any number: "
hFlush stdout
input <- getLine
mapM print [1..read input]
return 0
Javascript - 在 firefox 中运行 firebug(比 VB 慢很多):
for (i = 0; i<100000; i++){ console.log(i); }
Befunge - 使用 chrome/javascript 运行这个网站(比 firefox 快,但仍然比 vb 慢)
&1-0>1+:.134*+,\:#v_@
^ \-1<
这么简单,是什么让 vb 解决方案比其他语言更快?