タグ

2014年12月6日のブックマーク (5件)

  • Budgie | Evolve OS

    Budgie is the flagship desktop of the Evolve OS Linux Distribution, and is an Evolve OS project. Designed with the modern user in mind, it focuses on simplicity and elegance. A huge advantage for the Budgie desktop is that it is not a fork of another project, but rather one written from scratch with integration in mind.The Budgie Desktop tightly integrates with the GNOME stack, employing underlyin

    Budgie | Evolve OS
    mattn
    mattn 2014/12/06
  • fmt (Fprintf/Sprintf) の速度向上実験 — KaoriYa

    golang の fmt.Fprintf/Sprintf には、 フォーマット文字列の解釈を最適化することで、 速くする余地があると推測されます。 その推測が正しいか、お手軽な実験を行ってみました。 この記事は Go Advent Calendar 2014 の6日目の記事です。 fmt.Fprintf および Sprint は、実行時にフォーマット文字列を毎回解析するという性質上、パフォーマンスに余計なオーバーヘッドが発生すると言えます。よって、その解析処理をコンパイル時に行えば、大幅にパフォーマンスが改善することは、C言語において kazuho さん(h2oプロジェクト)の h2o/qprintf が証明しています。 今回は qprintf にインスパイアされて、同様のことを golang で行ったらどの程度速くできるのかを、簡単な実験(koron/qfmt)で確認してみました。 方式

    mattn
    mattn 2014/12/06
  • 対応する例外ハンドラーがなくstd::terminateが呼ばれる状況で、stack unwindingが行われるかどうかは実装依存

    対応する例外ハンドラーがなくstd::terminateが呼ばれる状況で、stack unwindingが行われるかどうかは実装依存 C++の規格上、対応する例外ハンドラーがないと、std::terminateが呼ばれるわけだが、その状況で、stack unwindingが行われるかどうかは実装依存となっている。 つまり、 struct X { X() ; ~X() ; } ; int main() { try { X x ; throw 0 ; } catch( double ) { } } このようなコードがあった時、対応する例外ハンドラーが存在しないので、std::terminateが呼ばれるわけだが、xのデストラクターが呼ばれるかどうかは実装依存となる。

    mattn
    mattn 2014/12/06
    呼ばれないべきかなと思うけど一番問題は実装次第で動きが違う事。特殊なケースじゃないし。
  • Vim script + Lua で rogue.vim を作った話 - Qiita

    この記事は Vim Advent Calendar 2014 の6日目の記事です。 rogue.vim について データ分離版ローグ・クローンII (rogue_s) をVimプラグインに移植した rogue.vim を作りました。 (ローグとはなんぞやという人は http://ja.wikipedia.org/wiki/%E3%83%AD%E3%83%BC%E3%82%B0 あたりを参照してください。) rogue.vimのインストール方法は、普通のプラグインと同じ方法です。 GitHubvim.orgからダウンロードしたzipファイルを展開してruntimepathの通ったディレクトリ($HOME/.vimや$VIM/vimfilesなど)にコピーするか、 何らかのプラグインマネージャーでインストールしてください。 https://github.com/katono/rogue.vi

    Vim script + Lua で rogue.vim を作った話 - Qiita
    mattn
    mattn 2014/12/06
  • はじめてのRocket - Qiita

    先日、CoreOS がRocketというコンテナ実行エンジンを発表して話題になりますた。 Rocketを少し触ってみたので簡単なまとめを書いておこうと思います。 チュートリアル 簡単にRocketでコンテナ起動までをやってみましょう。 簡単にREADMEに目を通しておくことをすすめます。 今回はfilesetを作るのがめんどいのでDockerコンテナを流用します。 そのためDockerをインストールしておきます。 インストール 早速Rocketをインストールしてみましょう。 ビルドするには以下のものが必要です。 cpio squashfs-(util) go-bindana (他にもあるかな?) 少し前までgo-bindataがらみでメモリが足りずにビルドによく失敗していましたが、今は修正されています。 (8Gでもビルドできない) bin以下にrktなどが作成されるはずです。 App Co

    はじめてのRocket - Qiita
    mattn
    mattn 2014/12/06
    あーなるほどー。export するのか。