タグ

memoryに関するryochackのブックマーク (11)

  • Rust FFIにおけるZero-length Array / Flexible Array Memberについて - Qiita

    はじめに この記事では、Cの構造体におけるいわゆるZero-length Array / Flexible Array Member(このイディオム自体知らなかったわけですが)をRustのFFIから扱う際にstd::mem::transmuteを使って強引にキャストしていました。その後いろいろ試したところ、特にtransmuteが必須というわけでもなかった、ということが分かりましたので、現時点で妥当と思うやり方を書いておきます。 (もっといいやり方がありましたらお教えください)

    Rust FFIにおけるZero-length Array / Flexible Array Memberについて - Qiita
  • mutなスマポ (BoxとかRcとかCellとか) - Qiita

    スマートポインタのことをスマポって略してみました。 Rustのポインタ・所有権管理は当にくっっそ面倒もとい厳格です。 使える武器を全部知っておかないと、ちょっとしたプログラムを書くのにも苦労間違いなしです。 だいたいのチュートリアルではBoxとRcの簡単な使い方には触れますが、意外とCellやmut変数の使い方に触れてるものが少ない(ような気がした)ので書きました。 (注:型を読者にわかりやすくするために、変数宣言ではlet a : i32のように型を記入していますが、来ほとんどが省略可能です) mutな参照 let mut a : i32 = 1; { let ref_to_a : &mut i32 = &mut a; *ref_to_a = 32; } println!("a = {}", a); // a = 32 これはまぁ、普通に言語チュートリアルでも出てくるようなプログラム

    mutなスマポ (BoxとかRcとかCellとか) - Qiita
  • Valgrind Home

    Information About News Tool Suite Supported Platforms The Developers Source Code Current Releases Release Archive Variants / Patches Code Repository Valkyrie / GUIs Documentation Table of Contents Quick Start FAQ User Manual Download Manual Research Papers Books Contact Mailing Lists and IRC Bug Reports Feature Requests Contact Summary Commercial Support How to Help Contributing Project Suggestion

  • valgrind でメモリリリークを調べる : sonots:blog

    valgrind でメモリリリークを調べる : sonots:blog
  • インテル、ついに不揮発性のメインメモリ「Intel persistent memory」発表、実稼働デモ公開。2018年に新型Xeon「Cascade Lake」とともに登場予定

    Intel persistent memoryはデータの保持に電力を必要としない、不揮発性メモリの一種だ。データをメモリからストレージに保存する必要がなくなるなど、コンピュータのアーキテクチャを一変させる可能性を持つ。 現代のコンピュータは基的にメインメモリとしてDRAMを利用しています。DRAMはアクセスが高速な一方、容量あたりの単価は高く、それゆえ大量にコンピュータに搭載することが難しく、またデータを保持し続けるのに電力を必要とします。 このDRAMの能力と性質を補完するため、一般に現代のコンピュータには二次記憶装置として大容量で安価かつ電力がなくてもデータを保持し続けられるハードディスクドライブなどのストレージを備えています。 こうした現代のコンピュータの構造を一変させようとインテルが5月16日に発表したのが、大容量かつ低価格、しかもデータの保持に電力を必要としない、同社とマイクロ

    インテル、ついに不揮発性のメインメモリ「Intel persistent memory」発表、実稼働デモ公開。2018年に新型Xeon「Cascade Lake」とともに登場予定
  • OSのデバッグ:メモリアロケーション講座 | POSTD

    追記:やあやあHacker Newsさん!おひさしぶり!メモリ管理を深く掘り下げた私の投稿を読む邪魔はしたくないし、私の投稿のあら探しをする人たちを邪魔するつもりもありません。技術的なマル秘テクニックに注目するのもいいでしょう(いや、わかりますよ。楽しいですしね!)。でも、私たちはひとりぼっちでソフトウェアを書いているわけではないのです。だから、ためになる技術的なコンテンツ(私の記事もそうでありたいものです)を捜すだけじゃなくて、政治的な話題にも目を向けることを強くおすすめします。ソフトウェア開発者である私たちは、今後数十年にわたって社会を変える最前線に立つ特権を与えられています。私たちは、自分たちの仕事を社会全体に役立てられるようにするための情報や知識を必要としています。 そういう意味でみなさんには、 Hacker Newsが「政治的」なコンテンツを検閲すると言い出したこと に反対しても

    OSのデバッグ:メモリアロケーション講座 | POSTD
  • OOM Killerにであったら何をするべきか?

    OOM killerで大事なプロセスが殺される。困りますね。。 google で OOM Killerと入力すると 「無効」とか補完されます。しかしどうするのが良いのか、あまりよく説明されている記事がみあたらなかったので自分の考えをメモしておきます。 OOM Killer の目的は何か? まずは何故OOM Killerが発生しているのかについて、ざっくりイメージをつかみましょう。linux kernelはプロセスからの「メモリくれ」という要求に対してたぶん足りそうだという場合に「OK」といって渡します。実際のメモリ割り当てはアクセスが発生するタイミングまで遅延させます。これを遅延アロケーションといい、だいたいにおいてうまく動きます。ただし必ずうまくいくと保証されているわけではないので破綻することがあります。 OOM Killerはこの遅延アロケーションが破綻しそうなときに、適当にプロセスを

  • スクールガールストライカーズの 内製クライアントエンジン

    近年、ハイスペックなスマートフォン、高品質なネットワークが普及し、それによりモバイルゲームの制作手法やそれを取り巻く環境も変化してきました。スクウェア・エニックスでは、そのような環境の変化に対して、日々新たなチャレンジをし続けています。そして、このようなスピード感溢れる業界の流れには、会社の枠を超えた技術情報の共有、交流が欠かせないと感じております。 そこでこの夏、社内のエンジニア・テクニカルディレクターによる最新のモバイル開発の技術情報や社内モバイルエンジン、開発秘話によるセッションをメインに、スクウェア・エニックス モバイル オープンカンファレンスを開催する運びとなりました。また、セッションの後は登壇する弊社スタッフと直接ディスカッションやフリートークができる場を設けております。この機会にスクウェア・エニックスという会社についても、より詳しく知って頂ければ幸いです。 マネージャー・テク

    ryochack
    ryochack 2014/07/17
    すごいすごい!!最適化を突き詰めた話。興奮しながら読んでしまった
  • Aliasing (computing) - Wikipedia

    For the term used in signals processing and computer graphics, see Aliasing. For the command, see Alias (command). In computing, aliasing describes a situation in which a data location in memory can be accessed through different symbolic names in the program. Thus, modifying the data through one name implicitly modifies the values associated with all aliased names, which may not be expected by the

  • Go言語のスタックとヒープ

    GoCon 2013 Autumn で「Go言語のスタックとヒープ」という発表をしました。 資料はこちら: http://goo.gl/s6at62 スライドだけでは分かりにくい部分もあるので、ブロク記事として以下にも記しておきます。(この記事を読めば、スライドは読まなくてOKなはず) スタックとヒープについて 実行時に動的にメモリを確保する領域として、スタックとヒープがある。 スタックメモリは関数のコールスタックを格納していて、ローカル変数、引数、戻り値もここに置かれる。 スタックのPushとPopは高速なので、オブジェクトをスタックメモリに確保するコストは小さい。ただし関数を抜けてスタックがPopされると解放されるので、関数の寿命を超えてオブジェクトは生存できない。 一方のヒープメモリは、コールスタックとは関係ないので、関数スコープに縛られずにオブジェクトを確保しておける。ただし空き領

    Go言語のスタックとヒープ
  • SanDisk、既存のDIMMスロットに装着できる超低遅延SSD「ULLtraDIMM」

  • 1