タグ

ブックマーク / kazuhooku.hatenadiary.org (4)

  • 同時にwrite(2)すると混ざるかどうか - kazuhoのメモ置き場

    Linux のシステムコールである write(2) の ドキュメントを読むと Atomic/non-atomic: A write is atomic if the whole amount written in one operation is not interleaved with data from any other process. This is useful when there are multiple writers sending data to a single reader. Applications need to know how large a write request can be expected to be performed atomically. This maximum is called {PIPE_BUF}. This volume of

    同時にwrite(2)すると混ざるかどうか - kazuhoのメモ置き場
  • mmapのほうがreadより速いという迷信について - kazuhoのメモ置き場

    @ITに以下のような記事が出て、 今回からしばらくの間は、まったく逆の例、つまり使うとプログラムの処理性能が上がるというシステムコールを紹介していく。システムコールを呼ぶ回数は少ない方が処理性能は高くなるという原則は変わらないが、呼び出しておくと処理性能が向上するシステムコールというものが存在するのだ。こうしたシステムコールを使わないでいることは、とてももったいない。 今回紹介するシステムコールは「mmap(2)」だ。ここでは詳しく仕組みを解説しないが、mmap(2)は、プログラムの処理性能に必ず良い影響を与える。 やはりあった? 高速化に効くシステムコール (1/2):知ってトクするシステムコール(3) - @IT それを真に受けたのか、「Go言語でmmapシステムコールを使ったファイル読み込みの高速化検討とC言語のコンパイラの話 - ryochack.blog」のようなブログエントリも

    mmapのほうがreadより速いという迷信について - kazuhoのメモ置き場
  • 30秒でわかるオープンソースライセンスまとめ - kazuhoのメモ置き場

    「よくわかるFOSSライセンスまとめなんてないよねー」と煽られたので3分で書く。 オープンソースライセンスは、以下の3種類に大別される。 代表的なライセンス 改変部分のソースコードの開示が必要 リンクして使う、他のソフトウェアのソースコード開示が必要 GPL (コピーレフト型) ○ ○ LGPL /MPL (準コピーレフト型) ○ × BSDL / MITL (非コピーレフト型) × × 自作のソフトウェアをオープンソースで公開する場合、 コピーレフト型にする場合は「GPLv2以上」 準コピーレフト型にする場合は「LGPL兼MPL」 とするのが無難。非コピーレフト型はMITLのほうがBSDLよりも明確だと言われることが多い(そしてどちらを選んでも問題ない)。 ※表の出典は OSS ライセンスの比較および利用動向ならびに係争に関する調査 より詳しく知りたい方へ: ライセンスの解釈については、

    30秒でわかるオープンソースライセンスまとめ - kazuhoのメモ置き場
  • ニフティクラウドのI/Oベンチマーク - kazuhoのメモ置き場

    試用アカウントをいただいたので (ありがとうございます!) ニフティクラウドの I/O ベンチマーク。 例によって randombench。100MB のファイルへの 16KB ランダムアクセス性能 (単位は IOPS, xfs;nobarrier;noatime)。 concurrency 1 4 16 read 1370 1260 1470 write 647 793 877 ファイルサイズを、ぐっと大きくしても Read IOPS が変わらなかったので、キャッシュのない RAID だと思えば良さそう。HDD 6台の RAID10 ぐらいの感じなのかしら。よくわかんないけど。 書き込み性能は BBU RAID を積んだローカルストレージより低いけど、読み込み性能は結構いい。仮想環境でここまでいいのを見たのは初めて。

    ニフティクラウドのI/Oベンチマーク - kazuhoのメモ置き場
  • 1