- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
928 :デフォルトの名無しさん (ワッチョイ 1bc1-UxIg)[]:2016/12/09(金) 11:12:10.89 ID:T45DPCHQ0 - Cで書いたプログラムを実行した時に実際にそのプログラムがコールしている
システムコールの回数を知りたいのですが、みなさんはどの様な方法を使っていますか? dtruss?とかdtrace?とかのコマンドを使う方法もあるみたいなのですが自分の環境でなぜかうまくいかなかったので… システムコールが遅いと言われる所以を確認するために実験をしたいので教えてください。 環境はMacOS X sierraです
|
- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
933 :デフォルトの名無しさん (ワッチョイ 1bc1-UxIg)[]:2016/12/09(金) 21:04:53.79 ID:T45DPCHQ0 - >>932
つまり、システムコールでもバッファを自前で用意してそこへ入れる様にすればコンテキストスイッチが少なくて済むってことですよね。 1バイトずつシステムコールした場合 write 5350 read 5351 512バイトのバッファを用意した場合 write 611 read 612 実験してみたのですが単純に512倍にならないのなぜなんだろう…
|
- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
935 :デフォルトの名無しさん (ワッチョイ 1bc1-UxIg)[]:2016/12/09(金) 21:57:07.96 ID:T45DPCHQ0 - >>934
1バイトずつ呼んだ場合と512バイトまでバッファリングした場合だと単純に呼ぶ回数が512分の1になりそうだと思いました。
|
- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
940 :デフォルトの名無しさん (ワッチョイ 1bc1-UxIg)[]:2016/12/09(金) 23:58:22.80 ID:T45DPCHQ0 - >>938
http://ideone.com/88miey こんな感じです。
|