当前位置: 首页 > 面试题库 >

进行微优化值得吗?

尹何平
2023-03-14
问题内容

我是PHP开发人员,我一直认为微优化不值得。如果您确实需要这种额外的性能,则可以编写软件以使其在结构上更快,或者编写C
++扩展来处理缓慢的任务(或者更好的方法是使用HipHop编译代码)。但是今天有个同事告诉我

is_array($array)

$array === (array) $array

而且我就像“嗯,那确实是没有意义的比较”,但是他不同意我的看法。.他是我们公司中最好的html" target="_blank">开发人员,并且负责一个每天执行约5000万次SQL查询的网站- -
例如。因此,我在这里想知道:他可能是错误的,还是微优化真的值得您花时间和时间?


问题答案:

当有证据证明您正在优化瓶颈时, 微优化是值得的。

通常这是不值得的-
编写尽可能可读的代码,并使用实际的基准来检查性能。如果发现瓶颈,则对那部分代码进行微优化(随需测量)。有时,少量的微优化可以带来巨大的变化。

但是 不要所有 代码进行微优化…最终将很难维护它,您很可能会发现您错过了真正的瓶颈,或者您的微优化正在 损害 性能,而不是 损害
性能。帮助。



 类似资料:
  • 本文向大家介绍如何进行SQL优化?相关面试题,主要包含被问及如何进行SQL优化?时的应答技巧和注意事项,需要的朋友参考一下 (1)选择正确的存储引擎 MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算

  • 本文向大家介绍如何进行大表优化?相关面试题,主要包含被问及如何进行大表优化?时的应答技巧和注意事项,需要的朋友参考一下 当MySQL单表记录数过大时,数据库的CRUD性能会明显下降,一些常见的优化措施如下: 1. 限定数据的范围 务必禁止不带任何限制数据范围条件的查询语句。比如:我们当用户在查询订单历史的时候,我们可以控制在一个月的范围内; 2. 读/写分离 经典的数据库拆分方案,主库负责写,从库

  • 有几种使用SIMD指令优化HOG描述符计算的尝试:OpenCV、Dlib和SIMD。它们都使用标量代码将结果幅值添加到HOG直方图中: 在那里,大小的值取决于实现,但一般意义相同。 我知道使用SIMD计算直方图的问题并没有简单有效的解决方案。但在这种情况下,我们有小尺寸(18)的直方图。它能帮助SIMD优化吗?

  • 我在声纳中发现了一条规则,它说: 与其他中间流操作的一个关键区别是,为了优化目的,流实现可以跳过对< code>peek()的调用。这可能会导致< code>peek()仅针对流中的某些元素或不针对流中的任何元素被意外调用。 另外,Javadoc中提到了它,它说: 此方法主要用于支持调试,您希望在元素流经管道中的某个点时看到这些元素 这种情况下可以跳过吗?和调试有关吗?

  • 问题内容: Java编译器(即javac)在生成字节码时不会执行任何优化。是真的吗 如果是这样,那么它可以实现为中间代码生成器以消除冗余并生成最佳代码吗? 问题答案: 如果有的话,只会做很少的优化。 关键是JIT编译器完成了大部分优化工作-如果它具有很多信息,则效果最佳,如果执行优化,其中的一些信息也可能会丢失。如果执行某种形式的循环展开,那么JIT很难以一般的方式自行完成-而且,由于它了解目标平

  • 问题内容: 我有以下(非常简单)Hive查询: 该表具有以下结构: 对于一个事实,我知道行首先按,然后按排序。 问题是:鉴于行已排序,有没有一种方法可以“提示” Hive引擎来优化查询?优化的目的是避免将所有组都保留在内存中,因为这一次仅需保留一个组即可。 现在,此查询在具有大约300 GB数据的6节点16 GB Hadoop集群中运行,大约需要30分钟,并且使用了大部分RAM,这使系统感到窒息。