タグ

Csharpとmemoryに関するraimon49のブックマーク (4)

  • 「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説

    「C」や「C++」に代わるシステムプログラミング言語として「Rust」が注目を集めている。メモリ安全性が高く、メモリ破壊バグといった脆弱(ぜいじゃく)性を作り込みにくいからだ(関連記事)。 ただし、システムプログラミング言語では、高い処理性能が必須条件であり、これがCやC++が使われ続けている理由となっている。Rustはどの程度「速い」のだろうか。 ドイツのミュンヘン工科大学で博士課程の学生であるポール・エメリク氏は2019年9月9日、Rustで作成したデバイスドライバの性能評価をGitHubで発表した。 同氏のグループはさまざまな言語で同じ機能を備えたデバイスドライバを記述し、性能を比較している。 何が性能低下を引き起こしているのか 性能評価用に作成したのは、Intelのイーサネットコントローラー向けのLinux用デバイスドライバだ(ixgbeタイプ)。 エメリク氏は解説の冒頭で研究に取

    「Rust」言語はCよりも遅いのか、研究者がベンチマーク結果を解説
    raimon49
    raimon49 2019/09/14
    配列アクセスをCより安全にしてくれてパフォーマンスこれだけしか違わないなんてRust最高じゃん。
  • Stack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中

    ITエンジニアのコミュニティサイトStackOverflowなどを運営するStackExchangeが、同社のサービスを支えているシステム構成の状況を知らせるWebサイトを公開しています。 同社のサービスは各国版のStack Overflowのほかにも、サーバ管理者のためのServer Fault、数学関係者のためのMathematicsなど多岐にわたっています。 これらを合わせた同社のサービスは月間5億6000万ページビュー。このページビューを、48GBのメモリを搭載した9台のWebサーバ。384GBのメモリを搭載しライブ/ホットスタンバイ構成にクラスタ化した2台のSQL Serverと、288GBのメモリを搭載した2台のSQL Serverによるもう1つのクラスタの合計4台のSQL Server。96GBのメモリを搭載し、マスター/スレーブ構成にした2台のRedis Serverなどで

    Stack Overflowの裏側は、Webサーバ9台、SQL Serverが4台など。月間5億6000万PVをさばくシステムの状況を公開中
    raimon49
    raimon49 2015/01/06
    見てみると、どの層もCPU使用率低いんだな。
  • C#におけるヒープVSスタック問題、あるいはUnityにおけるスクリプト高速化。 - Radium Software

    個人的にC#はグルー言語であるという認識が強くて、パフォーマンスを意識したプログラミングの経験が無い。しかしUnityのスクリプトをC#で書いていると、そこを意識しなくてはならないケースに出くわすことがある。 最近あったのは、テンポラリな配列のアロケーションが大きなオーバーヘッドを生み出しているという状況だった。これは結局、配列の使用をやめてstructのメンバー変数にパックするよう変更したところ、パフォーマンスは著しく改善された。言い換えれば、テンポラリオブジェクトの所在をヒープ上からスタック上へと移すことによってオーバーヘッドが解消された、という格好だ。 問題となっていたのは、まあざっくりとこんな感じの、ゲームステートを保持するクラスだった。 public class State { byte[] cells = new byte[16]; public State() {} publ

    C#におけるヒープVSスタック問題、あるいはUnityにおけるスクリプト高速化。 - Radium Software
  • .NET TIPS ガベージ・コレクタを明示的に動作させるには? - C# VB.NET - @IT

    C++やVisual Basic 6.0の世界でプログラミングしてきた技術者が.NET Frameworkの世界に入ってきてまずおどろくのは、プログラムを実行していると、プロセスが使用するメモリ量がどんどん増えていくことである。「メモリ・リークか!?」と焦ることもあるが、これは正常な動作である。 メモリの解放忘れは典型的なバグの要因であり、メモリ解放を自動化することによって、プログラムの信頼性は向上し、プログラマーの負担も減る。自動的なメモリ解放を行う機構は、ガベージ・コレクタと呼ばれ、解放する行為をガベージ・コレクションと呼ぶ。問題は、ガベージ・コレクションがいつ行われるかであるが、これはメモリが不足してきた場合や、明示的に動作を指示された場合にのみ行われる。つまり、メモリが潤沢に余っている場合には、プロセスの使用するメモリ量が増加するのが正常な動作である。そのままメモリ不足でプログラム

    raimon49
    raimon49 2009/12/16
    System.GC クラス
  • 1