準備:
WebAssemblyにコンパイルするには、いくつかのツールが必要です、ここではEmscriptenを利用します、詳しくは
試しにフィボナッチ数列を作って100万回の計算した結果を各ブラウザとC言語でのスピードを比較してみます
#include<stdio.h>
#include<time.h>
void fibonacci(int n)
{
int first = 0, second = 1, next;
for (int i = 0; i < n;
i++)
{
next = first + second;
first = second;
second = next;
}
}
int main()
{
clock_t beg = clock();
for (int i = 0; i < 1000000; i++)
fibonacci(46);
clock_t end = clock();
printf("1m fibonacci(46) in c: %lu\n", end-beg);
}
fibonacci.cファイルを作って上記のソースコードを埋め込み、次のコマンドを実行します
emcc fibonacci.c -s WASM=1 -o fibonacci.html
emrun ./fibonacci.html