non vorrei lavorare

昔はおもにプログラミングやガジェット系、今は?

aobenchをjuliaでやってみた

おはようございます。長男は初のお泊まり保育を無事終えて、ちょっとたくましくなって帰ってきたきがします。その一方、次男は相変わらず、ウンチしない、言うこと聞かないという状態の@kjunichiです。

背景

mruby-juliaなる謎のmrbgemを作成中、mruby版のaobenchを見つけるも、 Julia版は見つけられなかった

mruby版のaobench

mruby版のaobenchは、mrubyのソースに付属している。

やってみた

f:id:kjw_junichi:20160715074017p:plain

比べてみる

time ./a.out 

real    0m1.569s
user    0m1.550s
sys 0m0.007s

time ~/work/mruby/mruby-julia/mruby/bin/mruby bm_ao_render.rb >mrbao.ppm

real    0m21.985s
user    0m22.110s
sys 0m0.202s


time /Applications/Julia-0.4.6.app/Contents/Resources/julia/bin/julia ao.jl 

real    0m7.082s
user    0m7.195s
sys 0m0.213s

参考資料

d.hatena.ne.jp

関連記事

4年前の記事

3年前の記事

2年前の記事

2年後の記事

TLで「mruby」を検索したらmrubyのコントリビュータになれた

こんばんは、今日は長男が初めて、親元を離れて保育園に泊まるお泊まり保育の日です。@kjunichiです。

TLでいつものようにmruby関連の何か動きはないかチェックしていたら

貼り付けたツイートではmrmagickであたかも検索した様に言ってますが、実際は、「mruby」でツイッター検索した際に発見しました。

初めてmruby本体にプルリク投げた

github.com

マージされた!

f:id:kjw_junichi:20160708201520j:plain:w500

プルリク作成時に学んだこと

C99で書くが、VC++を考慮して、変数の宣言はブロックの先頭にする

プルリク出そうとしたら、

mruby/CONTRIBUTING.md at master · mruby/mruby · GitHub

を読めと出てきて、知ることができた。

for ( int i = 0; i < num_files; ++i ) {

このような書き方はダメらしい。

definedはC90から導入された

#ifdefは知っていたが、今回は、条件を複数書きたくて、ググって調査して学んだ。

今回のプルリクで解決したこと

C++とCのmrbgemを混在させた際に、Cで記述されたmrbgemでもMRB_TRYが使えるようになりました。

関連記事

9年前の記事

4年前の記事

1年後の記事

2年後の記事

Edge.jsで気になって、調べてわかったこと

こんばんは、次男は相変わらず、うんちを出しません。長男は、今週末初めての保育園のお泊り保育があります。@kjunichiです。

Edge.jsで超気になったこと

Edge.jsでc#JavaScriptのコメントで書けるとのことだが、コメントをどうやって、nodeで読めるのか気になった。

f:id:kjw_junichi:20160705222754p:plain

渡された関数をtoString()することでコメントを取得可能だった

github.com

Runstantでやってみた

まとめ

渡された関数をtoString()すれば、関数自体のコードがコメントを含め取得可能だった。

関連記事

5年前の記事

4年前の記事