[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

タグ

memoryに関するtorazukaのブックマーク (10)

  • Goでアロケーションに気をつけたコードを書く方法 : DSAS開発者の部屋

    GoPythonのようなLLと比べると実行速度は速いのですが、GCは特別速いわけではないので、相対的にGCがパフォーマンスに与える影響は大きくなります。 また、Java に比べると、一時オブジェクトなどのために頻繁にヒープアロケーションを行うとGCの停止時間が長くなりがちですが、一方でヒープアロケーションを避けたプログラミングがしやすい言語でもあります。 MySQL ドライバのような低レイヤーのライブラリを作る場合、アプリケーション側の性能要件を勝手に決めることができないので、現実的な範囲でアロケーションを減らす努力をするべきです。 ということで、前回の記事 で紹介したプレースホルダ置換を実装するにあたって経験した、アロケーションに気を使ったプログラミングについて、チューニングする手順やコード上のテクニックを紹介したいと思います。 1. まずは正しく動くものを作る go-sql-driv

    Goでアロケーションに気をつけたコードを書く方法 : DSAS開発者の部屋
  • JVM的な何か@JVM Operation Casual Talk

    4. ヒープストラクチャの基 予 約 予 約 予 約 Permanent GeneraAon (Class, システム) Old GeneraAon Eden Young GeneraAon From(S0) TO(S1) •  Young  Generation •  新規で⽣生成されたオブジェクトの⼊入るスペース •  Eden,  Survivor(S0  and  S1) •  Old  Generation •  より⽣生存期間の⻑⾧長いオブジェクトの⼊入るスペース •  Permanent  Generation(Java8でMetaspaceへ) •  クラスやメソッド/Code  Cacheが⼊入るスペース 5. マイナーGC 予 約 予 約 予 約 Permanent GeneraAon (Class, システム) Old GeneraAon Eden Young Ge

    JVM的な何か@JVM Operation Casual Talk
    torazuka
    torazuka 2014/04/08
    分かりやすかったです。
  • https://www.oracle.com/technetwork/java/javase/memorymanagement-whitepaper-150215.pdf

    torazuka
    torazuka 2014/04/07
    #jvmcasual (PDF)
  • GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)

    GCアルゴリズム詳細解説 日語の資料がすくないGCアルゴリズムについて詳細に解説します トップページページ一覧メンバー編集 GC 最終更新: author_nari 2010年03月14日(日) 20:47:11履歴 Tweet このWikiが目指す所 GCとは? GCを学ぶ前に知っておく事 実行時メモリ構造 基アルゴリズム編 Reference Counter Mark&Sweep Copying 応用アルゴリズム編 IncrementalGC 世代別GC スナップショット型GC LazySweep TwoFinger Lisp2 Partial Mark and Sweep -Cycle Collection- Mostly Parallel GC train gc MostlyCopyingGC(Bartlett 1989) TreadmillGC(Barker 1992) 補足

    GC - GCアルゴリズム詳細解説 - livedoor Wiki(ウィキ)
  • 驰月小说网-《奇幻小说网》最新章节_奇幻小说网无弹窗_全文免费阅读

  • メモリリークとは何か - kuenishi's blog

    メモリリークに悩まされている技術者は多いだろう。メモリリークが嫌でGCという技術が開発されたといっても過言ではないし、歴史的にはC++からJavaへシフトが起きた大きな理由のひとつといっていい。Unix系の簡単な定義でいえば、ヒープ領域を指すポインタ(アドレス)をロストしてしまえばそのメモリはもう漏れたといってよい。たとえばこういったコードだ。 struct { int i; char c; } spam; int main(){ void* p; int i; for(i=0; i<1024; ++i){ p = malloc(sizeof(struct spam)); } pause(); } このコードではpause(3)の時点で約5KBのメモリが漏れている。free(3)を使えばメモリをOSに返却できるが、アドレスが分からないので返却できない。 ところが、ここでいいたいのは、メモリ

    メモリリークとは何か - kuenishi's blog
    torazuka
    torazuka 2013/04/24
    "そのメモリやオブジェクトが必要か不要か、設計者や開発者でないと判断できない""ソースコードのレビューや長期耐久試験*1を通してメモリが太っていかないことを人間の手で見つけ出すしかない"
  • V6 unix vol.2 in okinawa

    5. 磁気DISKの動作原理  円盤上の媒体に磁性体を塗布  DISKを回転させる  ヘッド(コイル)  電磁誘導で発生した電流を読む  電流を流して磁場を発生させて円盤の一部を磁化/ 消磁する 2012/3/24 5 6. 磁気DISKの特性  物理的なアドレス  トラック/セクタ  論理的なアドレス  ブロック番号  シーク待ち  トラック間のピックアップ(コイル)の移動待ち  回転待ち  ピックアップの下を指定ブロックが通過するまで の時間 2012/3/24 6 7. 周辺機器との転送  完了イベントの検出方式  ポーリング ○ ステータスをCPUサイクルで検査(ルックイン)  割り込み ○ 完了時に周辺機器のコントローラが割り込みを発生  データの転送方式  プログラムIO ○ CPUサイクルでメモリを読み書き  Direct Memory

    V6 unix vol.2 in okinawa
  • libapr(apache portable runtime) programming tutorial

    INOUE Seiichiro <inoue@ariel-networks.com>2005/8/29 This is a tutorial on how to use libapr(apache portable runtime). 1. Tutorial Availability 2. libapr skeleton code 3. memory pool (apr_pool_t) 4. Error status (apr_status_t) 5. file handling 6. file lock 7. file-system directory handling 8. character string handling 9. time handling 10. command line options 11. memory map(mmap) 12. DSO(Dynamic Sy

  • メモリ管理

    ◆ メモリ管理とは? UNIX では、どうやって複数のプログラムを実行しているのでしょうか? 具体的には、以下の3つの目標を実現する必要があります。 複数のプログラムを同時に実行すること。 物理メモリを効率良く管理すること。 あるプログラムの暴走や異常終了が他のプログラムの実行へ影響しないこと。 そのためには、メモリ管理機構にどのような機能が必要でしょうか? 物理メモリサイズより大きいサイズのプログラムを実行できること 理想的には任意のサイズのプログラムを実行できること 部分的にロードされたプログラムを実行できること プログラムのスタートアップ時間を減らすためにも 一度に複数のプログラムがメモリに存在できること プログラムをメモリ上の任意の場所(アドレス)にロードでき、 実行中に移動できること プログラムが再配置可能であること 物理メモリのサイズや構成に関係なく、プログラムを記述で

    torazuka
    torazuka 2012/01/17
    素晴らしい解説。
  • 仮想記憶 - Wikipedia

    仮想記憶の概念図 仮想記憶(かそうきおく、英語: Virtual Memory、バーチャルメモリ)とは、コンピュータ分野におけるメモリ管理の仮想化技法の一種であり、オペレーティングシステム (OS) などが物理的なメモリを、アプリケーション・ソフトウェア(プロセスなど)に対して、専用の連続した主記憶装置に見えるように提供する。 この技術により、物理的な主記憶装置に加えてハードディスク装置等の補助記憶装置を併用すれば、物理的な主記憶装置よりも大きな仮想メモリを提供する事ができる。またアプリケーション・プログラム側は、物理メモリ上のアドレスを意識しなくて良いため、マルチタスクの実現が容易である。このため現代のオペレーティングシステムの多くが仮想記憶をサポートしている。 仮想的に与えられたアドレスを仮想アドレス (virtual address) または論理アドレス (logical addre

    仮想記憶 - Wikipedia
  • 1