【编程珠玑】第七章粗略估计

编程珠玑的这一章很有意思,要对于很多生活中的平时很少考虑的统计问题进行粗略估计,这看似与软件工程无关,但实则不然,书中提到在USA,“粗略估计”已经是工程院校的标准课程,这就难怪各种神级公司如微软、谷歌等在招人时会出现下面的一些面试题了:

  • 美国有多少量汽车?
  • 美国有多少个加油站?
  • ...

文章中首先提到了一个经验法则,觉得很有用。

“72”法则:假设以年利率r%投资一笔钱y年,如果r*y=72,那么投资将会翻倍。

例如以年利率6%投资1000美元12年,可得到2012美元;以年利率8%投资1000美元9年,可得到1999美元。


tip:π秒 = 1纳世纪秒 = 10^-9 * 100 s = 10^-7 s


Litte定律:系统中物体的平均数量等于物体离开系统的平均速率和每个物体在系统中停留的平均时间的乘积。

即:队列中物体的平均数量 = 进入速率 * 平均停留时间

  • 例如:假设你正在排队等待进入一个火爆的夜总会,你可以通过估计人们进入的速率来了解自己还要等待多久的时间。依据Little定律,可以推论“这个地方大约可以容纳60人,每个人在里面逗留的时间大约是3小时,因此我们进入夜总会的速率大概是每小时20人,现在队伍中我们前面还有20人,这也就意味着我们还要等1个小时。”
  • 可以用Little定律和流平衡的原理来证明多用户系统中的响应时间公式。假定平均思考时间为z的n个用户同时登陆到响应时间为r的任意系统中。每个用户周期都由思考和等待系统响应两个阶段组成,因此整个元系统(包括用户和计算机系统)中的作业总数固定为n。如果切断系统输出到用户的路径,你就会发现原系统的平均负荷为n、平均响应时间为z+r,而吞吐量为x(用每个时间单位处理的作业数来度量)。Litte定律告诉我们n=x*(z+r),对r求解得到r=n/x-z。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值