crystal
http://dlang.org/blog/2017/05/24/faster-command-line-tools-in-d/ https://nim-lang.org/blog/2017/05/25/faster-command-line-tools-in-nim.html https://users.rust-lang.org/t/faster-command-line-tools-in-d-rust/10992/14 こんな感じで巷ではやって…
まずは環境。 ( ՞ਊ ՞) :~/dev/crystal $ crystal --version Crystal 0.19.4 [7f82f79] (2016-10-07) ( ՞ਊ ՞) :~/dev/crystal $ cat /etc/issue Ubuntu 16.10 \n \l ( ՞ਊ ՞) :~/dev/crystal $ cat /proc/version Linux version 4.8.0-26-generic (buildd@lgw0…
これはCrystal Advent Calendar2015の17日目らしいです。ひ、日付? な、なんのことです…!? だいぶ昔に極小バイナリ作成をやっていたのですが、あれからいくばくか進捗がありまして現在146バイトとなっています。 https://github.com/kubo39/tinycr せっかく…
CrystalのProcは関数ポインタとクロージャに対する参照の組になっている。 クロージャへの参照はCallableなので、 def closure(x : ( -> Nil)) fp = pointerof(x) p "fp: #{fp}" # pointer to function clsr = fp + sizeof(Pointer(Int8)) # See Internal p …
当日12時半に起床。集合13時からなのでこの時点で遅刻確定。 さらにアクセスを下調べせずに雑に越谷駅に向かってしまったりして結局一時間半ほど遅れて参加。 当日はこんな感じのことをやって話しました。 speakerdeck.com Ary氏にも解説してもらったけど、…
例によってcrystalのソースコードからどのくらい小さいバイナリを作れるか試すということをやった. 暫定的にここまでやった試みとしては、以下のとおり. curl "http://crystal-lang.s3.amazonaws.com/pcl/libpcl-1.12-1-linux-x86_64.tar.gz" | tar xz -C /t…
某所での議論を見て。 RubyだとUnicronだとかPumaだとかThinだとかウェブサーバ実装たくさんあるけど、Crystalでウェブサーバ実装が乱立するような可能性ってそんなにないんじゃないかなあ、というのが自分の意見です。 CrystalのI/Oの仕組みはネットワークI…
Crystalは軽量スレッドを切り替えるためのランタイムスケジューラをもってる。少し調べてみた。 OSスレッドはカーネルのスケジューラによって切り替わるが、軽量スレッドはユーザが切り替えの責任をもつ。 spawn で生成した軽量スレッドは sleep を呼ぶこと…