タグ

2016年11月8日のブックマーク (3件)

  • Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる

    Linux は fork で子プロセスを作成した場合、親の仮想メモリ空間の内容を子へコピーする必要があります。しかしまともに全空間をコピーしていたのでは fork のコストが高くなってしまいますし、子が親と同じようなプロセスとして動作し続ける場合は、内容の重複したページが多数できてしまい、効率がよくありません。 そこで、Linux の仮想メモリは、メモリ空間を舐めてコピーするのではなく、はじめは親子でメモリ領域を共有しておいて、書き込みがあった時点で、その書き込みのあったページだけを親子で個別に持つという仕組みでこの問題を回避します。Copy-On-Write (CoW) と呼ばれる戦略です。共有メモリページは、親子それぞれの仮想メモリ空間を同一の物理メモリにマッピングすることで実現されます。より詳しくは コピーオンライト - Wikipedia などを参照してください。 この CoW に

    Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる
  • ゲームエンジン・ライブラリ・ツールの開発のカレンダー | Advent Calendar 2016 - Qiita

    ゲーム制作を支援するツールの開発者が、自身のツールや、そこで使われている技術について紹介する Advent Calendar です。 プログラミングに限らず、何らかの形でゲーム制作に役立つツールを募集します。 商用 / 非商用や規模は問いません(オレオレエンジンも歓迎)。400 字程度の簡単な紹介のみでも大丈夫です。 目的 ゲーム開発に興味のある人たちに色々な選択肢を知ってもらう ゲーム制作支援ツール開発への関心を高める ツールの開発者同士が知見を交換する 記事の例 ツールの特徴や活用事例の紹介 ツールの入門記事 ツールを開発して得た知見や技術の解説 ユーザの増やし方、ユーザコミュニティ運営のノウハウ or 失敗したこと

    ゲームエンジン・ライブラリ・ツールの開発のカレンダー | Advent Calendar 2016 - Qiita
  • neue cc - ZeroFormatter - C#の最速かつ無限大高速な .NET, .NET Core, Unity用シリアライザー

    (現状は)C#専用の、新しいシリアライズフォーマットを作りました。アセットストアには置いてないんですが、GitHubで公開しています。ReadMeが超書きかけですが明日ぐらいには全部書き終わってるはず……。 neuecc/ZeroFormatter 特徴はデシリアライズ速度がゼロなので、真の意味で爆速です。そう、無限大高速。 嘘くせー、って話なんですが、実のところこれは類似品があって、Googleの出してるFlatBuffersと基的な考えは同じです(他にCap'n Protoというのもあります、こっちも元Googleの人ですね)。デシリアライズ「しない」から速い。つまるところ必要になるときまでパースを先送りするってことです。これは、アプリケーションの作りにもよりますが非常に効果があって、例えばデカいマスタデータをドバッと取得するなんてときに、その場で必要なデータってその巨大データのごく