Vim の channel と json のパフォーマンス
先日公開した livemark.vim には想像以上にたくさんの反響をいただきました。 ありがとうございます。 最近では海外の方からもGithubのスターをいただきました。 思いつきで作ったプラグインでしたが、せっかくなので普段使いできるようにいくつか更新しました。
続きを読むVim に channel が実装されたので Markdown をプレビューするプラグインを作りました
Vimにchannel機能が実装されました。
Big Sky :: Vim にchannel(ソケット通信機能)が付いた。
昨日から株価・為替は乱高下し、大臣の辞任、日銀のマイナス金利導入決定など国内では大きなニュースが続いていますが、Vimmerにとってはこのパッチが最も影響があったのではないでしょうか。
というわけで、せっかくなのでchannel機能を使ってプラグインを書いてみました。 みんな大好きMarkdownのリアルタイムプレビューです。
channelを使ってみたかっただけなので、今のところデバッグ・エラー処理・設定などはやっつけです。 お遊び以外では使わないでください。
続きを読むNimrod.vimのomni補完をまともっぽく動くようにしたので人柱募集です
VimでNim*1のコードを書く時はとりあえず nimrod.vim を入れておけばなんとかなる*2のですが、このプラグインのOmni補完(インサートモードで <C-x><C-o>
)がちゃんと動いてないっぽかったので修正してました。
ついでに、デフォルトでneocomplete 用の設定も入るようにしました(元はneocomplchacheの設定だけ入ってた)。
というわけで、PR送りたいのですが、ちょっと自信がないのでしばらく手元で試します。 自分で使うだけだと不安なので、Nimの補完に不便してて人柱してくださる人がもしいたらお願いしたいです。
修正後のファイルはmiyakogi/nimrod.vimのimprove_completion
ブランチです。
この頃 流行りの 言語たち(他)でベンチマーク (Dart, Go, Julia, Nim, Python, Rust 他)
自分が気になっている、主に最近のプログラミング言語でベンチマークをやってみました。方法は、42番めのフィボナッチ数列の値を計算する時間を測るだけです。フィボナッチで各種言語をベンチマーク - satosystemsの日記 を参考にさせていただきました。
- 注意
- 筆者はPythonくらいしか使ったことない素人です
言語紹介
測定した言語は、以下の11種類です。
選択基準は、
- メジャーっぽい
- 自分が知っていた
- 自分が気になった
- 環境構築が楽だった(or すでに構築済みだった)
- 怖くない
などです。気分と手間で選びました。
測定条件
上記の言語でフィボナッチ数列の42番目の数を求める時間を測りました。42番目なのはなんとなく全部の言語がまともに測定できる範囲に収まったからです*1。
あと、今回はコンパイルが必要な言語はコンパイル時間も測りました。 コンパイル時間もコードを書くときには重要な要素だと思うので、参考にしていただければ。
2015年2月22日 10時16分 追記
Cの最適化オプションを-O3
にするとNimよりCの方が速いとのことです。この記事では-O2
で実験していました。申し訳ありません。-O3
オプション付きでコンパイルすると、NimよりもCの方が若干速くなります。
Nim vs C 追実験した.10回実行して平均と分散を計算.C言語が早い(差は小さいが統計的に有意).
Nim -d:release 平均4.2199秒 分散0.0018
C言語 -O3 平均 4.0689秒 分散0.0008
— ᴛ. ᴍᴀᴇʜᴀʀᴀ (@tmaehara) February 22, 2015
*1:他にも何通りか試しました。