Skip to content

Instantly share code, notes, and snippets.

@ddddddO
Last active June 26, 2023 09:00
Show Gist options
  • Save ddddddO/f022caf98c414ed5a4aed66e5a1b4f69 to your computer and use it in GitHub Desktop.
Save ddddddO/f022caf98c414ed5a4aed66e5a1b4f69 to your computer and use it in GitHub Desktop.
指定数Root構成のMarkdownを出力しgtreeで出力する/実際のスレッド数確認

ターミナルで(pipeline実装利用)、

$ for _ in `seq 0 10000`; do gtree template; done | gtree output --massive

別ターミナルで、

$ ps a -o pid,nlwp,args | grep "gtree output" | grep -v grep

結果

 8376    7 gtree output --massive
  • 実際には7つのスレッドしか使われていないが、7つしか並行処理しているわけではなく、Goのランタイムが効率的にCPUコアを使っている。
  • goroutineがCPUの1コアを占有するわけではない。
  • 「Go言語 プログラミングエッセンス」P146,147参照
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment