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

タグ

gcに関するtyosuke2011のブックマーク (7)

  • UnityのGCはどんな実装になっているのか

    こんにちは。Aiming エンジニアの久保田です。 僕の携わっているプロジェクトでは、近頃、Unity製クライアントのパフォーマンスの調査や改善を行っている最中です。 プロファイラを眺めていると、僕達が書くアプリケーションレイヤのコードが目立って遅い、ということは珍しいのですが、代わりにC#世界のスパイクとしてよく顔を出すのが、GC実行時間です。 C#は、タイプセーフでありながら人間にやさしく、getter/setter、async/await、Rx、ロケットなラムダ式、他他他…最新型の言語への影響も多大な、ファッション的にも◎な言語です。しかし、闇雲に全ての機能をタダで……というわけにはいかず、ことパフォーマンス面においては、GCというなかなか高い代償を支払うことになりかねないわけですね。 結論としては、UnityのGCは、皆が期待していたほど高性能ではなく、現状では僕達が書くC#が発生

    UnityのGCはどんな実装になっているのか
  • Go言語のリアルタイムGC 理論と実践 | POSTD

    (編注:誤訳、意味の分かりづらい訳を修正しました。リクエストありがとうございました。) 毎日、Pusherは数十億のメッセージをリアルタイム、つまり送り元から宛先まで100ms未満で送信しています。どのようにしてそれを可能にしているのでしょうか。重要となる要因はGoの低レイテンシのガベージコレクタです。 ガベージコレクタはプログラムを一時停止させるものであり、リアルタイムシステムの悩みの種です。そのため、新しいメッセージバスを設計する際には慎重に言語を選びました。Goは 低レイテンシを強調している ものの、私たちは懐疑的でした。「当にGoを使えば実現できるのか? もしできるならどうやって?」 このブログ記事ではGoのガベージコレクタを、どのように機能し(トリコロールアルゴリズム)、なぜ機能し(こんなに短いGCによる一時停止時間の実現)、そして何よりも、それが機能するのかどうか(GCによる

    Go言語のリアルタイムGC 理論と実践 | POSTD
  • 【GC 2016】体験者興奮しっぱなしの『Driveclub VR』プレイ映像! | Game*Spark - 国内・海外ゲーム情報サイト

    昨日海外向けに発表が行われた、PlayStation VR専用タイトル『Driveclub VR』のゲームプレイ映像がPlayStation Accessにて公開されました。ステアリングホイールと合わせてのプレイはかなりの没入感があるようで、体験者のDavid Jackson氏は終始興奮しっぱなしとなっています。車外や助手席などの視点で車をじっくり観察することもできるようで、車好きには非常に気になるタイトルなのではないでしょうか。

    【GC 2016】体験者興奮しっぱなしの『Driveclub VR』プレイ映像! | Game*Spark - 国内・海外ゲーム情報サイト
  • Scala Nativeを動かしてみた(1) - kmizuの日記

    Scala Nativeはscalaのコードを(LLVMのIRを経由して)ネイティブコードにコンパイルするAOTコンパイラ(Ahead Of Time Compiler)です。その存在については、少し前にサイトができていたことで一部で話題になっていましたが、Scala Days 2016 NYCにて正式に公開されました。現在はPre-Release段階ですが、既にサンプルコードを試せるようになっていたので、環境を構築してみました(on Mac OS)。 scala-nativeのリポジトリをcloneする $ git clone git@github.com:scala-native/scala-native.git --recursive git submoduleとしてscala/scalaを持っているので、--recursiveを付けるのを忘れないようにしましょう。 llvm(cla

    Scala Nativeを動かしてみた(1) - kmizuの日記
  • 【Unity】CPUプロファイラでパフォーマンスを改善する 後編 - テラシュールブログ

    CPUプロファイラに関する内容の後編です。 パフォーマンスの問題を解決する GCを減らす GCの発生要因を減らす コルーチンとGC GCの負荷を減らす オーバーヘッドとは何ぞや 実機で動作するアプリのパフォーマンス検証 出力したアプリを計測するメリット 実機で動作するアプリにプロファイラを繋ぐ 実機にてプロファイル結果を計測して取得する 参考 関連 パフォーマンスの問題を解決する パフォーマンスの問題はケースバイケースです。銀の弾丸が無い以上、実際にやってみて効果を確認する以外には無い感じであはあります。 また、一つの事柄に注目しすぎるのも問題です。例えばAnimatorはAnimationを比較するとAnimatorのほうが若干負荷が高いですが、SkinedMeshRendererの変形コストも加算するとAnimatorの方が負荷が低かったりします。 今回はそういった細々とした内容ではな

    【Unity】CPUプロファイラでパフォーマンスを改善する 後編 - テラシュールブログ
  • 第20章 Rubyの未来

    そして次々世代の開発版がruby 2、コードネームRite、である。 この名前はLとRの区別がつけられない日人へのオマージュらしい。 一言で2.0はどこが変わるかと言うと、コアほとんど全部だ。スレッド、評価 器、パーサ、これが全部変わる。もっとも、コードがカケラも出てきていない のであくまでここに書くのは全て「予定」である。あまり期待しすぎると失望 するかもしれない。そういうわけで、軽く期待、ということにしておこう。 記述言語 まず使う言語。間違いなくCだろう。Ruby英語メーリングリスト ruby-talkでのまつもとさんの発言によると I hate C++. だそうなので、C++を使うというのはまずありえない。いくら全面作り直しと 言ってもオブジェクトシステムはほぼそのまま残ると考えられるので、そのあ たりでの手間が増えないようする必要もある。ただしCはCでも今度はANSI Cに

  • 第5章 ガ-ベージコレクション

    プログラムの実行時イメージ 突然だが、章を始めるに先立ち、プログラム実行時のメモリ空間の状態につ いて予習をしておこうと思う。この章ではコンピュータの低レベルな部分にか なり踏み込んでいくことになるので、あらかじめある程度の知識を仕入れてお かないと太刀打ちできないのだ。それにこの後の章になればいずれ必要になっ てくる。ここで一回やってしまえば後が楽だ。 セグメント 一般的なCプログラムではメモリ空間の中に以下の部分を持つ。 テキスト領域 スタティック変数やグローバル変数の置場 マシンスタック ヒープ テキスト領域はコードが置いてあるところ。二番目は見ての通り。マシンスタッ クには関数の引数やローカル変数が積まれる。ヒープはmalloc()で割り当てて もらうところだ。 三つめのマシンスタックについてもう少し話そう。マシン「スタック」と言う くらいだから当然スタック構造をしている。つまり

  • 1