微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 运行脚本的最快方法是什么?

我想知道运行脚本的最快方法是什么,我一直在阅读在终端上显示脚本输出,将其重定向文件或者/ dev / null之间的速度差异.

因此,如果输出不重要,那么使脚本更快地工作的最快方法是什么,即使它是最小的.

bash ./myscript.sh 
-or-
bash ./myscript.sh > myfile.log
-or-
bash ./myscript.sh > /dev/null

解决方法:

这些天的终端速度比以前慢,主要是因为显卡不再关心2D加速.实际上,打印到终端可能会减慢脚本速度,尤其是涉及滚动时.

因此./script.sh比./script.sh> script.log慢,后者又比/script.sh> / dev / null慢,因为后者涉及的工作量较少.但是,这是否会为任何实际目的带来足够的差异取决于脚本产生的输出量和速度.如果您的脚本写入3行并退出,或者每隔几小时打印3页,您可能不需要为重定向而烦恼.

编辑:一些快速(和完全破碎)的基准:

>在Linux控制台中,240×75:

$time (for i in {1..100000}; do echo $i 01234567890123456789012345678901234567890123456789; done)
real    3m52.053s
user    0m0.617s
sys     3m51.442s

>在xterm中,260×78:

$time (for i in {1..100000}; do echo $i 01234567890123456789012345678901234567890123456789; done)
real    0m1.367s
user    0m0.507s
sys     0m0.104s

>重定向到Samsung SSD 850 PRO 512GB磁盘上的文件

 $time (for i in {1..100000}; do echo $i 01234567890123456789012345678901234567890123456789; done >file)
 real    0m0.532s
 user    0m0.464s
 sys     0m0.068s

>重定向到/ dev / null:

 $time (for i in {1..100000}; do echo $i 01234567890123456789012345678901234567890123456789; done >/dev/null)
 real    0m0.448s
 user    0m0.432s
 sys     0m0.016s

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐