性能设计中的平衡-提防物极必反

原创 2007年09月30日 07:16:00

这是一个非常有意思且非常发人深省的案例。

公司在做一个组件的时候,一开始就以追求最高效率为目标。因此在制定方案的时候,采用了全部在内存中操作,从而获取最佳效率。但是随着应用中的数据量的提升,效率在空间面前,越来越成为问题。

这个案例有意思的地方就是,最初是为了追求最好的效率,最后反而没有得到好的效率。但又反过来让我们来思考为什么会出现这种情况呢?

xiammy想到的的第一个问题在于:空间和时间的权衡。我们都学习过《算法与数据结构》,知道空间和时间往往就是一对矛盾体。在这个问题上,我们一开始就想追求极限的时间上的优势,对空间上的消耗可能带来的影响反而忽略了。这个问题就是,极限地追求效率,非常有可能会增加对空间的占用。

在一定意义上,时间和空间是可以转化的。爱因斯坦的相对论是这么说的,我们的程序设计也是这样的道理。所以我们在考虑时间的时候,必须考虑好我们是在多大的空间内考虑时间。

所以xiammy认为考虑效率的时候,同时必须定义空间的相对量。我们不应该抛离空间而单独追求时间。简单的说,追求的是1000条数据的效率,还是1,000,000条数据的效率。xiammy认为,不同的目标,其解决方案会有极大的不同。

就如前面案例中的所提到的,只是1000条,我完全可以全部装载到内存中,然后再进行优化。但如果是极大的数据量,那么一开始就必须放弃装载到内存中的想法。这里面还有一些微妙的地方,因为在最后的实际应用的压力下,最终的系统必然要解决大数据量的问题,架构也必然要重构。可能你会想到一句话:殊途同归。但是事实一般并不是这样。种下的种子总是会对后来的事情有影响的。况且,在已有的系统上进行重构,还会被现存的代码束缚,让你重构也不得畅快。

在说回到一个理念问题,我们如果一开始的时候就陷入到极限地追求效率上,反而应了那句话:物极必反。最后的效果反而不是最好。中国人的中庸思想在设计的时候还是有借鉴意义的。 

相关文章推荐

二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比

前言:BST、AVL、RBT、B-tree都是动态结构,查找时间基本都在O(longN)数量级上。下面做出详细对比。1. 二叉查找树 (Binary Search Tree)BST 的操作代价分析:...

平衡二叉树和红黑树最差情况性能分析

平衡二叉树和红黑树最差情况分析 1.经典平衡二叉树 平衡二叉树(又称AVL树)是带有平衡条件的二叉查找树,使用最多的定理为:一棵平衡二叉树是其每个节点的左子树和右子树的高度最多差为1的二叉查找树。因为...
  • yuhk231
  • yuhk231
  • 2016年04月22日 10:57
  • 5219

类间样本数量不平衡对分类模型性能的影响问题

这篇博文是作者的一个实验笔记,研究一个”飞机-背景“二分类器在不同样本比例下精度,召回率的规律。 1. 问题描述  固定正样本(飞机)2000个,改变负样本(背景)的训练数据量 1 : 0.5 、 ...

二叉查找树、平衡二叉树、红黑树、B-/B+树性能对比

作者:奔跑的小河 连接:http://blog.csdn.net/z702143700/article/details/49079107 前言:BST、AVL、RBT、B-tree...

自主设计平衡车PCB板

  • 2017年11月10日 15:20
  • 9.3MB
  • 下载

物极必反

初中在半封闭的学校读书,由于很多种原因,初三到某远房亲戚家走读(我爸找了很久的关系才找到)。那时候成绩很好,也特别用功,不知道疲倦是什么。但是每天早上却很痛苦,因为东北农村对早饭似乎不太重视,早饭亲戚...

物极必反:苹果是否会盛极而衰

苹果的iPhone和iPad等产品受到消费者的热捧,第四季度苹果手机全球销量达到3700万部,苹果在科技领域的地位已经登峰造极,截止周二收盘,苹果收盘涨3.47美元或0.77%,报456.48美元,总...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:性能设计中的平衡-提防物极必反
举报原因:
原因补充:

(最多只允许输入30个字)