WebAssemblyでC言語を動いてみた
November 01, 2019
844
準備:
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
- 本文作者:Wenhua Chen
- 本文链接:https://wenhuachen.com/2019/11/01/WebAssembly%E3%81%A7C%E8%A8%80%E8%AA%9E%E3%82%92%E5%8B%95%E3%81%84%E3%81%A6%E3%81%BF%E3%81%9F/index.html
- 版权声明:本博客所有文章均采用 BY-NC-SA 许可协议,转载请注明出处!