如何判断计算机的快慢?

本文探讨如何衡量计算机运行速度,通过MIPS(每秒百万条指令)单位来评估CPU性能。同时强调算法设计的重要性,举例比较了在不同计算机上,执行相同任务的两种算法所需时间,展示即使CPU速度较慢,优化的算法也可能实现更快的运算效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考《算法导论》p6p_6p6~p7p_7p7

为什么要学算法?就是想设计出的算法让计算机跑的更快嘛,那怎么判断计算机运行的快慢?或者不同算法在同一台计算机上的运行时间如何比较?

判断CPU运行快慢(CPU快慢也即计算机快慢)的一个单位是MIPS(Million Instruction Per Seconds),每秒百万条执行,此值肯定是越大则表示CPU运行越快。

另外一个评价标准是,某个算法在某台计算机上执行了多长时间,在理论计算的时候,前提是知道CPU每秒能执行多少条指令,或者每条指令需要多少时间。

算法导论p6p_6p6~p7p_7p7上有一个例子,对比两种算法分别在两台计算机上执行的时间。现有一个大小为n=100n=100n=100万个数的数组,假设计算机A每秒能执行10亿条指令,计算机B每秒能执行1000万条指令,如果在A上运行需要c1n2c_1n^2c1n2条指令的排序程序(c1=2c_1=2c1=2),即2n22n^22n2;在B上运行需要c2nlg⁡nc_2n\lg nc2nlgn条指令的排序程序(c2=50),即50nlg⁡n50n\lg n50nlgn。为了完成这n=100万个数的排序,

A需要花费的时间为:
2∗(106)2条指令109条指令/秒=2000秒 \frac {2*(10^6)^2条指令}{10^9条指令/秒}=2000秒 109/2(106)2=2000
B需要花费的时间为:
50∗(106)lg⁡106条指令107条指令/秒≈100秒 \frac {50*(10^6)\lg 10^6条指令}{10^7条指令/秒} \approx 100秒 107/50(106)lg106100
每秒执行慢的计算机反而耗费时间少,体现了算法设计的重要性!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值