タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

goとperformanceに関するmizdraのブックマーク (3)

  • Performance without the event loop | Dave Cheney

    This article is also available in Japanese, イベントループなしでのハイパフォーマンス – C10K問題へのGoの回答 This article is based on a presentation I gave earlier this year at OSCON. It has been edited for brevity and to address some of the points of feedback I received after the talk. A common refrain when talking about Go is it’s a language that works well on the server; static binaries, powerful concurrency, and high per

    mizdra
    mizdra 2023/04/01
    面白い
  • GolangでFlame Graphを描く

    アプリケーションのパフォーマンス問題の解決やチューニングで大切なのは問題のコアやボトルネックに最短パスで到達することである. 基的なパフォーマンス分析の入り口はアプリケーションのスレッドがon-CPUで時間を消費しているかoff-CPUで時間を消費しているかを理解するところから始まる.on-CPUの場合はそれがuserモードかkernelモードかを特定し,さらにCPUプロファイリングによってどのcode pathがCPUを消費しているのかの分析に向かう.off-CPUの場合はI/OやLock,pagingといった問題の分析に向かう. Flame Graphはon-CPUでのパフォーマンスの問題が発覚した時に行うCPUプロファイリングを助ける.どのcode pathがボトルネックになっているのかを1つのグラフ上で理解できる.記事ではFlame Graphとは何か? なぜ必要なのか? を解

    mizdra
    mizdra 2021/07/18
    分かりやすい
  • goで書いたコードがヒープ割り当てになるかを確認する方法 · hnakamur's blog

    2018-01-30 はじめに Allocation Efficiency in High-Performance Go Services · Segment Blog という記事を読みました。素晴らしいのでぜひ一読をお勧めします。 この記事は自分の理解と実際に試してみた結果のメモです。 一番のポイントは go build -gcflags '-m' のようにオプションを指定してビルドすればコードのどの箇所でヒープ割り当てが発生したかを確認できるということです。 pprof や go test -benchmem でもヒープ割り当ての発生回数は確認できますが、上の方法ではコードのどこ(何行目の何カラム目)でヒープ割り当てが発生したかとなぜ発生したかの理由を確認できます。 元記事の内容メモ 冒頭にあげた記事を読んで私が理解した内容のメモです。 元記事の全ての内容を書いているわけでないので、元

  • 1