openとかreadとかのシステムコールを呼ぶだけの簡単なお仕事に携わる皆様、こんにちは。 普段自分が使っているシステムコールって、他にオーバーヘッドがない理想的な状態だとどれくらいの負荷になるんだろう。そんな漠然とした疑問を持ちつつも、面倒なんで自分で測ることなく日々を過ごしている人も多いかもしれない。それじゃいけない。純粋にそのシステムコールを呼ぶとどれくらいの負荷がかかるのかを知っておかねばならない。 ということで、簡単なテストプログラムを書いてみた。各システムコールの典型的な組み合わせでどれくらい時間がかかるかを見るのだ。「gcc -std=c99 -Wall -O2 -o mytest mytest.c」でビルドできる。結果は環境依存性が強いだろうから、ぜひ自分の環境で動かしてみてほしい。 #define _XOPEN_SOURCE 500 #include <stdlib.h>