- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
932 :デフォルトの名無しさん (ワッチョイ a77b-vMYJ)[sage]:2016/12/09(金) 20:04:41.77 ID:EaN/YLKK0 - システムコールは、ユーザー・カーネルモードを切り替えるから、
その都度、CPU状態を退避するから、遅い システムコールのreadを、1バイトずつ千回呼ぶと、千回モードが切り替わるから遅い 一方、libcのようなライブラリを使うと、内部でバッファを確保して、バッファリングするから、 千バイト貯まったタイミングで、1回だけシステムコールが呼ばれるから、効率的 (バッファリングモード) ただし、標準エラー出力はバッファリング無し (unbuffered mode)
|
- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
936 :デフォルトの名無しさん (ワッチョイ a77b-vMYJ)[sage]:2016/12/09(金) 22:30:48.01 ID:EaN/YLKK0 - 他のシステムコールを、一杯呼んでいるからかな?
|
- C言語なら俺に聞け 137 [無断転載禁止]©2ch.net
939 :デフォルトの名無しさん (ワッチョイ a77b-vMYJ)[sage]:2016/12/09(金) 23:50:28.19 ID:EaN/YLKK0 - buffer size を、1・512バイトにして、512バイト読めば、512・1回になる
|