Linux系统信息c++;vs bash vs python

Linux系统信息c++;vs bash vs python,python,c++,linux,bash,Python,C++,Linux,Bash,我想制作一个程序,在Linux系统上从/proc读取信息,尽可能轻快 我最初的问题是我应该使用哪种编程语言 目前: 猛击 C++(以前从未使用过) 蟒蛇 因此,我编写了一个简单的基准测试:读取/proc/loadavg并返回前3个值: loadavg.sh awk'{print$1”“$2”“$3}'/proc/loadavg loadavg.cpp #包括 #包括 #包括 #包括 #包括 int main(){ 标准::ifstream rawavg(“/proc/loadavg

我想制作一个程序,在Linux系统上从
/proc
读取信息,尽可能轻快

我最初的问题是我应该使用哪种编程语言

目前:

  • 猛击
  • C++(以前从未使用过)
  • 蟒蛇
因此,我编写了一个简单的基准测试:读取
/proc/loadavg
并返回前3个值:

  • loadavg.sh
awk'{print$1”“$2”“$3}'/proc/loadavg
  • loadavg.cpp
#包括
#包括
#包括
#包括
#包括
int main(){
标准::ifstream rawavg(“/proc/loadavg”);
if(rawavg){
std::vector v(std::istream_迭代器(rawavg),
std::istream_迭代器{});

如果(v.size()>=3)std::您是否可以在没有优化的情况下编译
(-O2)不要在优化的情况下不进行代码测试。瓶颈不会在你的包装中,它只不过是解析字符串。它将在你调用的系统函数中。你使用哪种编程语言并不重要。你只需要测量加载一个小C++、一个中等AWK和一个相当的拥抱的时间。即使我运行<代码> G++-O2EPUP.CPP-O LooVav.CPP < /代码>,结果是“代码> 1.5用户4.9S系统102% CPU 6.242总计<代码> SIDNEOTE:您可以进一步简化C++程序。例:如果您不关心<代码>矢量< /代码>,您可以直接拷贝到<代码> STD::CUT。
$ g++ input.cpp -o loadavg.cpp
$ time (repeat 1000 eval './loadavg.cpp > /dev/null')
1.43s user 4.56s system 101% cpu 5.884 total

$ time (repeat 1000 eval './loadavg.sh > /dev/null')
3.30s user 11.95s system 102% cpu 14.884 total

$ time (repeat 1000 eval './loadavg.py > /dev/null')
40.76s user 14.79s system 97% cpu 57.257 total