タグ

performanceに関するni66lingのブックマーク (17)

  • Pythonスクリプトのパフォーマンス計測ガイド | Yakst

    Pythonスクリプトの速度を計測し、そのボトルネックを探る。さらに、メモリ使用量、メモリリークの原因特定までの調査方法を解説する。 あなたが書いたすべてのPythonプログラムで厳密なパフォーマンス計測が必要になるというわけではないにせよ、その時が来たら、役に立ってくれる様々な種類のツールがPythonのエコシステムにはあるのだということを知っておけば安心できるだろう。 プログラムのパフォーマンスを計測することは、すなわち以下の4つの基的な質問に答えることだと要約できる。 どのくらい高速に実行できるか? スピードのボトルネックはどこか? どのくらいのメモリを使うか? メモリリークしているのはどこか? これから、いくつかの素晴らしいツールを使ってこれらの質問に答えていくための詳細を見ていこう。 大ざっぱな実行時間 素早くざっくりとコードの実行時間を計るのに、古き良きUNIXのユーティリテ

    Pythonスクリプトのパフォーマンス計測ガイド | Yakst
    ni66ling
    ni66ling 2021/01/21
    行ごとの処理時間は次で取得できる。1) $ pip install line_profiler でパッケージインストール、2) 計測対象のメソッド定義直前の行に@profileと書く、3) $ kernprof -l -v [ファイル名].py で確認
  • Webサイトパフォーマンスのカレンダー | Advent Calendar 2016 - Qiita

    DevOpsで重要な指標となるWebサイトパフォーマンスと可用性について、幅広くネタを集めております。 ミリ秒単位やオブジェクト単位のミクロな改善、秒単位やページ全体のマクロな改善、HTMLコーディング、CSSコーディング、各種計測手法、ハードウェア論、ソフトウェア論、設計手法論、評価手法、CDN、フロントエンド最適化サービス、WordPressやDrupalのようなCMS高速化仮想マシンのようなもの、プログラミング言語での高速化手法と、Apacheやnginxの高速化手法、モジュールの話、Webブラウザ開発における高速化の努力、通信回線の話、HTTP/2、今後IoTで重要になる軽量化プロトコルMQTTのようなプロトコルの話、何でも大歓迎です。 とりあえず、表示は0.5秒、操作可能開始時間は2秒以内という欧米標準を目指すということで、銀の弾丸が使えないなら、鉛の弾を大量に撃て。

    Webサイトパフォーマンスのカレンダー | Advent Calendar 2016 - Qiita
  • コールツリー - 開発ツール | MDN

    コールツリーは、どの JavaScript 関数がもっともブラウザで時間をかけているかを示します。この結果を分析すると、コードのボトルネック (ブラウザが不相応に多くの時間をかけている場所) を見つけることができます。 これらのボトルネックは、最適化により最大の効果を得られる場所です。 コールツリーは、サンプリングプロファイラです。これは JavaScript エンジンの状態を定期的にサンプリングして、その時点のコード実行のスタックを記録します。統計的に、個々の関数を実行しているときに取得したサンプル数はブラウザが実行にかけた時間に対応しますので、コード内のボトルネックを発見できます。 記事では、例としてシンプルなプログラムから出力した結果を使用します。自身のプロファイルで実験するためにプログラムを取得したい場合は、こちらをご覧ください。ここで言及するプロファイルはこちらにあります。読み

    コールツリー - 開発ツール | MDN
  • C#はunsafeの方が速いという幻想 - aokomoriuta's blog

    数日前に話題になったこの辺の話。 espresso3389.hatenablog.com qiita.com C++よりC#が速いかどうかというのはとりあえず置いておきましょう。 しかし、大元ネタが「unsafe使うと1.2倍速くなります!」と言ってますね。 よく聞きますよ、「C#で速度出したかったらunsafeにしなさい」って。 しかし当にそうなのでしょうか?その謎を解明するため、我々探検隊はジャングルの奥地へ(ry なおこの記事のタイトルは以前の『OpenCLやる前にSIMD使い切れっていう幻想』と合わせています。興味がある方はそちらもどうぞ。 結論 unsafeにしなくても速くできる!! コードと環境は以下の通り。 コード testManagedBitmap testManagedOpt test1 test2 環境 (Surface Pro 3 Windows10 Pro 64b

    C#はunsafeの方が速いという幻想 - aokomoriuta's blog
  • skip-name-resolveでMySQLへの接続がどの程度速くなるのか試してみた - Lism.in * blog - nekoya (id:studio-m)

    skip-name-resolve重要 - kotori::log を見て、実際のところどの程度性能に影響があるのか気になったのでベンチを取ってみた。 ベンチマークスクリプトはhttp://gist.github.com/594839で、connect -> disconnectを1000回繰り返すのにかかった時間を計測。 ■計測結果 環境の詳細は後述するとして、まずは結果から。手動で何回か実行して、結果のボリュームゾーンを感覚的に抽出。 環境 実行時間(秒) skip-name-resolve 1.73 〜 1.74 hosts 1.75 〜 1.76 DNS 2.26 〜 2.29 /etc/my.cnfでskip-name-resolveを有効にした場合、確かに速くて、DNSで名前解決するよりも0.5秒ぐらい速くなる。1回あたり0.5msecをどう見るかはケースバイケースだが、DB

    skip-name-resolveでMySQLへの接続がどの程度速くなるのか試してみた - Lism.in * blog - nekoya (id:studio-m)
  • ロードアベレージとは何か (やっぱり Sun がスキ!)

    Oracle Blogs

  • ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering

    こんにちはこんにちは。最近お腹痛いばっかり言ってることで有名なiwanagaです。 DeNAは外部的にはプラットフォーム的な部分の方がフィーチャーされることが多いですが、実はソーシャルゲームの提供も行っています。怪盗ロワイヤルとか、どこかで聞いたことがあるのではないでしょうか。 僕はDeNAでソーシャルゲームが誕生した辺りからずっとサーバサイドを見てきましたが、そんな運用の中で自分が貯めてきた知見とかTIPSをご紹介したいと思います。 かれこれ10タイトル近くはレビューしたり運用したりしてるため結構言いたいことはいっぱいあるので、小出しにしつつ評判よければ次も書きます。 ソーシャルゲームのためのMySQL入門一覧 ソーシャルゲームのためのMySQL入門 - Technology of DeNA ソーシャルゲームのためのMySQL入門2 - Technology of DeNA 「MySQL

    ソーシャルゲームのためのMySQL入門 | BLOG - DeNA Engineering
  • ヤフー社内でやってるMySQLチューニングセミナー大公開

    速習!論理レプリケーション ~基礎から最新動向まで~(PostgreSQL Conference Japan 2022 発表資料)NTT DATA Technology & Innovation

    ヤフー社内でやってるMySQLチューニングセミナー大公開
  • MySQLでクエリチューニングことはじめ

    最近、寒暖の差が激しいですがみなさん体調は崩されていないでしょうか? こんにちわ。モニプラ for Facebookを担当しています高橋です。 サービス開始当初は問題なかったものの稼働が高くなりデータ量が多くなって クエリのパフォーマンスが悪化すること…よくありますよね? 今回はクエリチューニングの基的な手順とケース別に解決方法を解説したいと思います。 クエリチューニングの手順 1.スロークエリログで問題のクエリをあぶり出す まずはどのクエリが問題なのか特定する必要があります。 アプリケーション側でクエリの実行時間を測定し自前でログを出力しておくというのも手ですが、 お手軽にMySQLの設定で一定時間以上掛かったクエリをログに出力しておくことができます。 スロー クエリ ログ(MySQL 5.1 リファレンスマニュアル) mysqldを–log-slow-queriesオプションつきで起

  • MySQLのEXPLAINを徹底解説!!

    以前、MySQLを高速化する10の方法という投稿で「EXPLAINの見方についてはいずれ解説しようと思う」と書いてしまったので、今日はその公約?を果たそうと思う。 MySQLのチューニングで最も大切なのは、クエリとスキーマの最適化である。スキーマの設計は一度決めてしまうとそのテーブルを利用する全てのクエリに影響してしまうためなかなか変更することは出来ないが、クエリはそのクエリだけを書き直せば良いので変更の敷居は低い。そして遅いクエリをなくすことは、性能を大幅に向上させるための最も有効な手段である。従って、アプリケーションの性能を向上させたいなら、まず最初にクエリのチューニングを検討するべきなのである。 最適化するべきクエリはスロークエリログやクエリアナライザで見付けられるが、ではそのようなクエリが見つかった場合にはどのように最適化すればいいのか?そのためにはまず現在どのようにクエリが実行さ

    MySQLのEXPLAINを徹底解説!!
  • turbo-sprockets-rails3 で Heroku x Rails3のデプロイ時間を30倍速くする - Qiita

    Rails3のassets:precompileは遅い! HerokuRailsも便利ですが、番環境にデプロイするときに実行されるassets:precompileの速度はお世辞にも速いとは言えません。 Twitter BootstrapやらjQueryプラグインやら、なんやらかんやらでViewにお化粧を厚塗りしていくと、assets:precompileの時間だけで3分以上かかることも珍しくありません。 僕の場合、毎回確実にassets:precompileに10分以上かかってしまい、時々Herokuの15分という上限を超えてしまうRails appもありました。 なので、「ちょっとした修正をデプロイしたいだけなのに、こんなに待たされるのはもう勘弁!!」という悩みを抱えていました。 turbo-sprockets-rails3で簡単に爆速化!! そんなときに見つけたのがturbo-s

    turbo-sprockets-rails3 で Heroku x Rails3のデプロイ時間を30倍速くする - Qiita
  • Why does speed matter?  |  web.dev

    Why does speed matter? Stay organized with collections Save and categorize content based on your preferences. Consumers increasingly rely on the web to access digital content and services. If you look at your website's analytics, you can probably see this story playing out in your own data. Consumers are also more demanding than they've ever been, and when they experience your website, they aren't

    Why does speed matter?  |  web.dev
  • MySQL Index勉強会外部公開用

    pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation

    MySQL Index勉強会外部公開用
  • RSpec Performance Turning - くりにっき

    社内で開催されたRSpec勉強会テストのパフォーマンスチューニングについて話したので資料を公開してみます。 RSpecの名は冠しているものの他の言語やテスティングフレームワークでも応用できるところがあるかもしれません。 RSpec Performance Turning from sue445 8/3追記:はてブコメント返信 テストのテストにはテスト対象を使えばいいんでしょうか。 場合によりますね。 基的にはテストコードとテスト対象のプロダクトコードはペアであるはずなので、テストにバグが混入したとしても対応するテスト対象が変更されていなければテストがなんらかの形でエラーになるので、そこで検知できると思います。 テストコードのリファクタリング(共通処理をメソッド抽出など)は、既存のテストが品質を担保してくれてます(グリーンのままであればリファクタリング成功) 0からテスト書く場合でテストの

    RSpec Performance Turning - くりにっき
  • 漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法

    ちょっとキャッチ−なタイトルをつけてしまったが、今日は独断と偏見でMySQLを高速化する方法を10個紹介しよう。MySQLサーバをチューニングするときや初期導入する場合などに参考にしてもらいたい。 1. バッファを増やす、または減らす チューニングの基中の基であるが、適切なバッファサイズを設定することはパフォーマンスチューニングの要である。主なバッファは次の通り。 innodb_buffer_pool_size・・・InnoDBだけを利用する場合は空きメモリの7〜8割程度を割り当てる最も重要なバッファである。余談だが、実際にはここで割り当てた値の5〜10%ぐらいを多めにメモリを使うので注意が必要だ。 key_buffer_size・・・MyISAMだけを利用する場合は、空きメモリの3割程度を割り当てるといい。残りはファイルシステムのキャッシュ用に残しておこう。 sort_buffer_

    漢(オトコ)のコンピュータ道: MySQLを高速化する10の方法
  • Life is beautiful: Javascriptクイズ(中級者向け):無名関数と実行効率の話

    Javascriptを使い始めたばかりの太郎君に、上司の花子さんから「スタイルシート用のスタイル名をDOMからアクセス可能なプロパティ名に変更するJavascriptのライブラリを作って欲しい」という課題が与えられました。何のことか分からずにポカンとしている太郎君に、花子さんは「"font-style" を"fontStyle"に変更する関数を作ればいいのよ」と言い残して立ち去ってしまいます。 O'ReillyのJavascriptとしばらく格闘した太郎君は、やっとライブラリを完成させます。 function capitalize(str) { return str.charAt(1).toUpperCase(); } function style2prop(str) { return str.replace(/-[a-z]/g, capitalize); } "font-style"が

  • グーグルがWebを高速化するために何をしているか

    のページをめくるように、どんなWebページも素早く表示できるようにする。グーグルは以前からWebの高速化に取り組んできました。 6月22日から、米サンタクララで行われていたWebサイトのパフォーマンスと運用に関するオライリーのイベント「Velocity 2010」では、グーグルのUrs Hölzle氏がWebの高速化技術について「Speed Matters」(スピードの重要性)というセッションで紹介ています。 Webを高速化するためにどのような技術があり、あるいはどのような技術が検討されているのか、このセッションの内容を紹介しましょう。 スピードは重要だ 私が話そうとしているのは、「Speed matters」(スピードの重要性)についてだ。Webは空飛ぶジャガイモより速くなれるだろうか? どのくらい速くなれるだろうか? (参考:オペラがやってくれた! グーグルの空飛ぶジャガイモに対抗)

    グーグルがWebを高速化するために何をしているか
  • 1