タグ

ブックマーク / nyaruru.hatenablog.com (7)

  • Windows のヒープ管理 - Firefox3 のメモリ使用量 (2) - NyaRuRuが地球にいたころ

    シアトル行く前に『jemalloc on Windows - Firefox3 のメモリ使用量 - NyaRuRuの日記』 の続きを片付けておきますか. といいつつ,当初予定の内容はとりあえず破棄.書いているうちに気になることが色々出てきて,その度に実験するものだからあんまり進んでいなくて,このままだと永遠に終わらなそうなので方針を変えました.というわけで外部資料多めでお送りします. 最初に読むもの UNIX 系の mmap を使ったメモリアロケーションならだいたい分かるよ,という人が,Windows のメモリ管理について興味を持ったとして,おすすめなのが 「(新)APIから知るWindowsの仕組み」シリーズの『第4回 メモリー管理のキー技術「仮想メモリー」を知る』という記事です. というわけでここでまず上のページに飛んで,一通り読んでみて下さい.以下はその後で. 仮想アドレス領域の予約

    Windows のヒープ管理 - Firefox3 のメモリ使用量 (2) - NyaRuRuが地球にいたころ
  • WPF の binding に驚いた人をさらに唸らせるかもしれない Mathematica の Dynamic - NyaRuRuが地球にいたころ

    XAML のデータバインディングって「プログラミング言語」っぽいよね? とか一瞬思ったので今日は Mathematica 6.0 の Dynamic の話. Mathematica は学生を除いてお値段がアレ過ぎるので,ほとんどの人はこの機能をご存じないかと思いますが,かなり面白い試みなので機能の名前と概要ぐらいは憶えておくと良いかも,みたいな.学生ならお値段そこそこなので是非試すべし.大学でサイトライセンス持っていることも多いですしね.そういう人は使えるうちに遊んでおくと吉. Mathematica 6.0 の Dynamic って何? 動的インタラクティブ機能言語 Mathematica の動的インタラクティブ機能の基は,新しい形式の記号動的言語である.他の言語構造と自由に交わることのできる非常に強力な少数のプリミティブを使って,直接記号的なスタイルでプログラムを書くことができる.M

    WPF の binding に驚いた人をさらに唸らせるかもしれない Mathematica の Dynamic - NyaRuRuが地球にいたころ
  • kernel-mode memusage - NyaRuRuが地球にいたころ

    Vista kernel の直接観測 『ホワイトペーパー: Windows のメモリ管理の進歩』のちょっとした続き. 予習は OK ということで,カーネルデバッガを利用してより直接的に変更点を見てみることにします. おさらい 『インサイド Microsoft Windows 第4版上』を読まれた方にはおなじみでしょうが,Windows 環境で,真の意味での物理メモリの使用状況を見るには,Windbg で !memusage コマンドを実行するのが手っ取り早い方法です. !memusage コマンドは,Page Frame Number (PFN) database のエントリをひとつひとつスキャンし,物理ページが何の用途に使われているかを集計します. 0: kd> !memusage loading PFN database loading (100% complete) Compilin

    kernel-mode memusage - NyaRuRuが地球にいたころ
  • ホワイトペーパー: Windows のメモリ管理の進歩 - NyaRuRuが地球にいたころ

    Windows のメモリ管理の進歩 (via id:kkamegawa:20071024:p2) ちょっと目を通してみました.軽くメモ. Feedback この資料に関してのフィードバックはこちらへ. http://connect.microsoft.com/Survey/Survey.aspx?SurveyID=4925&SiteID=221 Page-File Writes Windows Vista では変更済みページの内容をチェックして,ページ内容が全て 0 であれば zero page に差し替えるようになった.調査では 7〜8% の書き出しがこの改良で回避される.*1 以前のバージョンの Windows ではページファイルへの書き出しは 64 kbyte 単位で行われていて,ディスク I/O の回数が多くなっていた.Windows Vista では,書き出し単位の制限を撤廃し,

    ホワイトペーパー: Windows のメモリ管理の進歩 - NyaRuRuが地球にいたころ
  • NyaRuRuの日記 - 十分に物理メモリを搭載しているにもかかわらずスワップアウトが発生する理由

    多くの人々は,Windows OS でのスワップアウトを「メモリが足りなくなったときの緊急回避」と考えているようです.実際,緊急退避的なスワップアウトも存在しますが,PC の搭載メモリが増えてきた現在では,しかし,もっと別の形でのスワップアウトの方が頻繁に起きるようになってきています.ここでは,より現実的なスワップアウトの姿を見てみることにしましょう. ある想像上のプログラムを考えます.そのプログラムは,300 MB のヒープを確保し,同時に 300 MB 程度のファイルのあちこちにランダムアクセスを繰り返すとします. Windows は,このアプリケーションを円滑に動作させるために,どのように物理メモリを提供するのでしょうか? アプリケーションが,ヒープに対するランダムアクセスのみを行い,ファイルアクセスはほとんど行わない場合 この場合,300 MB の物理メモリをヒープのために維持し続

    NyaRuRuの日記 - 十分に物理メモリを搭載しているにもかかわらずスワップアウトが発生する理由
  • NyaRuRuの日記 - @IT 連載 .NET&Windows Vistaへ広がるDirectXの世界 (最終回)

    紹介が遅くなりましたが,数日前から公開されてます. http://www.atmarkit.co.jp/fdotnet/directxworld/directxworld07/directxworld07_01.html:image:large 第7回 プログラマブル・シェーダによる積極的なGPUの活用 イントロにも書きましたが,元ネタは Shawn Hargreaves 氏の blog の マンデルブロ集合の記事 です.スクリーンショットだけを見ると静止画を作るサンプルと誤解されそうですが,リアルタイムで動くのがポイントです.動画を付けた方が当はいいのかもしれませんね. ちなみに「Aero がサクサク」という GPU でも,こういったサンプルで Xbox360 と競争させてみると Xbox360 圧勝というケースが多いのがわかります.いやほんと.速いですよ,Xbox360. あとは,3

  • LUA 5.1 の GC - NyaRuRuが地球にいたころ

    『毒々マンボウ後悔記』より. Lua 側では当にメモリの確保時も解放時もヒープに関しては考慮してない。即座に確保*3、即座に解放。てっきり Lua 内部でもちっこいメモリはプールするくらいのことはやってるモンだと思ってたから意外だった。まあ、下手なヒープを内部に作るよりはユーザープログラムに全部投げしちまおう、みたいなコンセプトなんだろうね。だって Lua だし。lua_Alloc にログ仕掛けたら結構壮快。実際に動かすなら単純な Segregated なフリーリストくらい用意した方が良いかもね。 あと、Sweep フェイズの解放するオブジェクト数の上限とかもユーザープログラムから制御できるようになってれば良いのに、と素人目には思いました、まる そういえば Microsoft は開発環境と OS を両方提供する強みというか,Visual C++ のヒープ管理部分を出来る限り薄くして OS

    LUA 5.1 の GC - NyaRuRuが地球にいたころ
  • 1