タグ

最適化とprogrammingに関するastk_fのブックマーク (9)

  • V8エンジンでのJavaScriptの機能と最適化コードの書き方に関する5つのベストプラクティス | POSTD

    数週間前に、JavaScriptが実際どのように動いているかを掘り下げて紹介する記事の連載を始めました。JavaScriptがどのような機能で構成されていてそれらがどのように組み合わさって機能していくのかを知ることによって、さらに良いコードやアプリケーションを作ることができるのではないかと思ったからです。 連載の1回目では 、エンジンやランタイム、コールスタックについての概要を紹介しました。2回目となる今回は、Google V8 JavaScriptエンジンについて細かく説明していきます。また、より良いJavaScriptコードの書き方、すなわち私たちの開発チーム SessionStack がプロダクトを開発する際に意識しているベストプラクティスについても併せて紹介します。 概要 JavaScriptエンジン とはJavaScriptコードを実行するプログラムまたはインタプリタのことです。

    V8エンジンでのJavaScriptの機能と最適化コードの書き方に関する5つのベストプラクティス | POSTD
  • Javascript Performance

    We've been busy Perf Prereqs Common Perf Strategies Perf Mechanics What's Next in JS Perf?

    Javascript Performance
  • どれだけ速く文字列からスペースを削除できるのか | POSTD

    時によってプログラマは文字列から不要な文字を取り除きたい場合があります。例えば、テキストの一部からすべての行の末尾文字を削除したいとします。 その時、全スペース(‘ ‘)や改行コード(‘\n’および‘\r’)を削除する問題を考えてみましょう。 効率的に実行するにはどのような方法がいいのでしょうか。 size_t despace(char * bytes, size_t howmany) { size_t pos = 0; for(size_t i = 0; i < howmany; i++) { char c = bytes[i]; if (c == '\r' || c == '\n' || c == ' ') { continue; } bytes[pos++] = c; } return pos; } 上記のコードはUTF-8でエンコードされた文字列で動作します。UTF-8がASCII

    どれだけ速く文字列からスペースを削除できるのか | POSTD
  • c++とアセンブリ言語で画像を反転させてみる - Qiita

    この記事は自分用の備忘録です。解説用ではないです 追記2: 結果だけ先に発表すると、OpenCVが約16ms、C++ with asmが約3msまで高速化されました。最後のコメント欄まで読んでいただければと思います。 きっかけ カメラから画像を取得して、それを反転させて表示するプログラムを開発しています。 画像の反転をOpenCVを使っているのですが、画素数が大きいのでもう少しなんとか早くならないものかと、取り組んでみました。 残念ながら、私が使っているデバイスのCPUは、OpenCLをサポートしていない、ので、GPUにデータを乗っける方法が使えないのです。 使えたら、OpenCV3で、高速化してしまうんですけどね。 ということで、イバラの道としりながら、アセンブリ言語に進んでいきます。 NEON命令 NEON命令とは、arm系CPUにおいて、1命令で複数データをまとめて処理できる命令だそ

    c++とアセンブリ言語で画像を反転させてみる - Qiita
  • [CEDEC]「FINAL FANTASY XV」の最適化はこうして行われた

    CEDEC 2016では,開発環境,グラフィックス,AI,キャラクター,バックエンドシステムなど,全部で5つのテーマの「FINAL FANTASY XV」(以下FFXV)関連セッションが最終日に行われ,それこそ,丸一日FFXVセッションを聞くこともできるほどの充実ぶりであった。 稿では,この日,3番めに行われたエンジニアリング系のセッションである「AAAタイトル開発における最適化 FINAL FANTASY XV実例紹介」の内容をレポートしたい。タイトルにはFFXVの名前が入っているが,ゲームプログラミング全般に応用できそうな内容となっていたので,広く参考になるのではないかと思う。 FFXVでのゲームループ並列化の変遷 前半の講演を担当した佐藤達磨氏(スクウェア・エニックス,第二ビジネスディビジョン,プログラマー) FFXVは,Luminous Studioというスクウェア・エニックスに

    [CEDEC]「FINAL FANTASY XV」の最適化はこうして行われた
  • PHPコード最適化Tipsのウソと本当(解説) - カタコト日記

    PHP コード最適化 Best Practices 63+ - カタコト日記 前回は、元記事に一定の敬意を表して、項目とかはあえてそのままにしてたんですが、 自分としても気になる部分が多々あったので、少しだけ調べ直して優先度&解説つけました。 独断と偏見ですが。ヽ(´ー`)ノ 検証はしてません。ごめんなさいごめんなさい。 優先度A、B、C、不明、非推奨に分けてみました。どうぞつっこんでください。 長いよ、今回は。 優先度A. 頻度も高いし使えそう - 6つ 01. static にできるメソッドは static として宣言しよう。(4倍速い) 正しくは、static なメソッドには、OOP のルールに従ってちゃんと static 宣言をつけよう! ってとこでしょうか。来そうでないものを無理に static にしちゃえって話ではないはず。*1 × <?php public function

    PHPコード最適化Tipsのウソと本当(解説) - カタコト日記
  • その8 4分木空間分割を最適化する!

    ホーム<ゲームつくろー!<衝突判定編 2D衝突編 その8 4分木空間分割を最適化する!(理屈編) ゲーム空間に置いたオブジェクトを総当りで衝突判定する事ははっきりと非効率だと言えます。ちょっと計算してみましょう。60FPSのゲームの1フリップ約16.6ミリ秒の内衝突判定に10%の時間余裕(1.66ミリ秒)を与えられたとします。もし1000回の衝突判定に1ミリ秒かかるなら(1000回/msec)、判定回数は1660回以下に抑えないと間に合いません。総当りだとこれは58オブジェクトくらいで限界です。判定時間が200回/msecならオブジェクトはたった18個で限界。これはどう考えても節約が無いとゲームになりません。 オブジェクトの全ての位置が決まった時、自分とぶつかる可能性があるのは自分の周りのオブジェクトだけです。遠い所にある物は判定する必要すらありません。そこで「空間をある程度制限してその中

  • ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    ウノウラボ Unoh Labs: PHPで暗号化・復号化あれこれ
  • Conference Session Notes - gskinner blog

    Visit gskinner.com News and views on the world of interactive media from the gskinner team Here is a collection of some of the session notes and source files I have put together for various conferences (generally from newest to oldest). I will try to keep it up to date. This list will have a permanent link on the right nav bar of my blog. Newer talks will generally require the latest available Fla

    Conference Session Notes - gskinner blog
  • 1