这是今天突然想到的一个事情,几年前我和一个朋友做一个开发板,然后我们需要完成的这个开发板有算力的要求,当时我们测试的时候就用了一个shell脚本来分析系统的算力。今天我突然想不起这个命令,然后就想写篇文章记录下,可能以后会有需要。

先说下bc这个指令,这是一个算数指令,可以用来做算数的。

paul@ubuntu:~$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
4 + 5
9

然后如果要计算除法的时候,可以用scale来指定小数点的位数。

paul@ubuntu:~$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
scale=4
1/5
.2000

然后,我们看看如果计算π呢?

看下面的图片

然后我们用shell脚本来计算π。

我在一个16核的CPU中运行,结果如下

pual@ubuntu:~$ time echo "scale=2000;4*a(1)"|bc -l
3.141592653589793238462643383279502884197169399375105820974944592307\
81640628620899862803482534211706798214808651328230664709384460955058\
22317253594081284811174502841027019385211055596446229489549303819644\
28810975665933446128475648233786783165271201909145648566923460348610\
45432664821339360726024914127372458700660631558817488152092096282925\
40917153643678925903600113305305488204665213841469519415116094330572\
70365759591953092186117381932611793105118548074462379962749567351885\
75272489122793818301194912983367336244065664308602139494639522473719\
07021798609437027705392171762931767523846748184676694051320005681271\
45263560827785771342757789609173637178721468440901224953430146549585\
37105079227968925892354201995611212902196086403441815981362977477130\
99605187072113499999983729780499510597317328160963185950244594553469\
08302642522308253344685035261931188171010003137838752886587533208381\
42061717766914730359825349042875546873115956286388235378759375195778\
18577805321712268066130019278766111959092164201989380952572010654858\
63278865936153381827968230301952035301852968995773622599413891249721\
77528347913151557485724245415069595082953311686172785588907509838175\
46374649393192550604009277016711390098488240128583616035637076601047\
10181942955596198946767837449448255379774726847104047534646208046684\
25906949129331367702898915210475216205696602405803815019351125338243\
00355876402474964732639141992726042699227967823547816360093417216412\
19924586315030286182974555706749838505494588586926995690927210797509\
30295532116534498720275596023648066549911988183479775356636980742654\
25278625518184175746728909777727938000816470600161452491921732172147\
72350141441973568548161361157352552133475741849468438523323907394143\
33454776241686251898356948556209921922218427255025425688767179049460\
16534668049886272327917860857843838279679766814541009538837863609506\
80064225125205117392984896084128488626945604241965285022210661186306\
74427862203919494504712371378696095636437191728746776465757396241389\
086583264599581339047802759008real    0m1.678s
user 0m1.676s
sys 0m0.000s
crisqifa@ubuntu:~$

然后我再另一个嵌入式设备运行

rockchip # cat 1.sh
echo "scale=2000;4*a(1)"|bc -l
rockchip # time -p ./1.sh
3.141592653589793238462643383279502884197169399375105820974944592307\
81640628620899862803482534211706798214808651328230664709384460955058\
22317253594081284811174502841027019385211055596446229489549303819644\
28810975665933446128475648233786783165271201909145648566923460348610\
45432664821339360726024914127372458700660631558817488152092096282925\
40917153643678925903600113305305488204665213841469519415116094330572\
70365759591953092186117381932611793105118548074462379962749567351885\
75272489122793818301194912983367336244065664308602139494639522473719\
07021798609437027705392171762931767523846748184676694051320005681271\
45263560827785771342757789609173637178721468440901224953430146549585\
37105079227968925892354201995611212902196086403441815981362977477130\
99605187072113499999983729780499510597317328160963185950244594553469\
08302642522308253344685035261931188171010003137838752886587533208381\
42061717766914730359825349042875546873115956286388235378759375195778\
18577805321712268066130019278766111959092164201989380952572010654858\
63278865936153381827968230301952035301852968995773622599413891249721\
77528347913151557485724245415069595082953311686172785588907509838175\
46374649393192550604009277016711390098488240128583616035637076601047\
10181942955596198946767837449448255379774726847104047534646208046684\
25906949129331367702898915210475216205696602405803815019351125338243\
00355876402474964732639141992726042699227967823547816360093417216412\
19924586315030286182974555706749838505494588586926995690927210797509\
30295532116534498720275596023648066549911988183479775356636980742654\
25278625518184175746728909777727938000816470600161452491921732172147\
72350141441973568548161361157352552133475741849468438523323907394143\
33454776241686251898356948556209921922218427255025425688767179049460\
16534668049886272327917860857843838279679766814541009538837863609506\
80064225125205117392984896084128488626945604241965285022210661186306\
74427862203919494504712371378696095636437191728746776465757396241389\
086583264599581339047802759008
real 11.72
user 11.43
sys 0.00

下面这个是一个4核的设备,可以明显看到差距,下面的设备运行的时间非常长。

欢迎大家在评论区贴出自己的设备运行时间,运行的时候注意看看提示,有的设备可能没有安装bc指令,比如像安卓的系统,这个指令可能是没有的。

Linux的bc命令计算π的值预估系统算力相关推荐

  1. linux计算圆周率程序,科学网—[转载]关于Linux中使用bc命令计算圆周率(π):可以计算上千位或上万位,顺便评测CPU的计算能力 - 张成岗的博文...

    Posted on 2020-12-19 20:28  520_1351  阅读(149)  评论(0)  编辑  收藏 Linux系统中,我们可以安装bc计算器用来计算pi值(π圆周率) 在玩的同时 ...

  2. linux之bc命令使用详解_【原创】linux命令bc使用详解

    最近经常要在linux下做一些进制转换,看到了可以使用bc命令,如下: echo "obase=10;ibase=16;CFFF" | bc 用完以后就对bc进行了进一步的了解,  ...

  3. linux之bc命令使用详解_Linux命令bc使用详解

    bc 命令是任意精度计算器语言,通常在linux下当计算器用,可以做基本的数学运算及进制转换. bc命令参数 -i:强制进入交互式模式: -l:定义使用的标准数学库: -w:对POSIX bc的扩展给 ...

  4. Linux学习-25-useradd命令:添加新的系统用户

    8.9 Linux useradd命令:添加新的系统用户 添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号.用户组.主目录和登录Shell等资源.刚添加的账号是被锁定的,需设置密码,才可 ...

  5. linux中通过命令生成hex值

    # openssl rand -hex 10 57109ac4d6b429701deb 注:10代表生成20位的hex值 转载于:https://blog.51cto.com/zhangmingqia ...

  6. linux安装不了bc命令,Linux之bc命令使用详解

    # bc bc 1.06 Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc. This is free softw ...

  7. shell中的浮点数运算之bc命令简介

    在shell中,当我们进行浮点数的运算,特别是用于浮点数间的比较大小时,往往会出现一些问题,这里使用bc命令,帮你解决困难 它的一般格式: var=`echo "option1;option ...

  8. Linux操作系统PS命令详细 解析

    http://blog.chinaunix.net/space.php?uid=20564848&do=blog&id=74654 Linux操作系统PS命令详细 解析 要对系统中进程 ...

  9. linux mail命令详解,Linux mail邮件命令详解及实例

    在Linux系统下mail命令的测试 1. 最简单的一个例子: mail -s test yangfang@fudan.edu.cn 这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有m ...

最新文章

  1. RenderTree渲染树
  2. Spring Boot 多版本更新,紧急修复 RFD 安全漏洞
  3. python100个免费实例-Python的100个练习实例免费下载
  4. linux_2.6内核内存缓冲与I/O调度机制:
  5. docker for windows could not read CA certificate【转】
  6. 数据库误操作后悔药来了:AnalyticDB PostgreSQL教你实现分布式一致性备份恢复
  7. 并发编程的目的和挑战
  8. vue+element【后台案例 · 搜集 · 集锦】
  9. POSIX规范-unbuffered I/O (文件I/O)
  10. android camera 显示过程,Android相机Camera基础知识
  11. 做精明财女必上的3堂课 结婚才是最大的投资
  12. 利用Python,通过关键字获取漏洞平台最新漏洞信息
  13. Katalon Recorder简介与使用
  14. openOCD和Jlink仿真器
  15. HTML基础知识笔记-01
  16. PC端和移动端微信加入群聊的测试点分析
  17. 以太坊智能合约 —— 最佳安全开发指南
  18. 从3K到30K在长沙这座城市买房买车,23岁的年纪我到底经历了什么
  19. 如何建站?如何使用宝塔?宝塔是什么?
  20. MYsql 性能监控工具

热门文章

  1. 正则表达式 Mather类的使用
  2. 开关语句、循环语句、goto
  3. shell if多个条件判断_萌新关于Excel VBA中IF条件判断语句的一点心得体会
  4. python中格式化字符串的作用_python中字符串格式化的意义(化妆)
  5. c语言递归汉诺塔次数,汉诺塔问题(C语言经典递归问题(一))
  6. 客户端程序自动更新(升级)的方式
  7. 讯飞输入法有没有Linux,Debian testing 安装讯飞输入法 - Linux系统与应用 - LinuxApp - 水木社区...
  8. getAttribute实例例java_Java ExifInterface.getAttribute方法代码示例
  9. java程序可分为两个基本文件_1 Java语言概述答案
  10. struct file 结构体