例如,如果我实现一些简单的对象缓存,哪种方法更快?
1. return isset($cache[$cls]) ? $cache[$cls] : $cache[$cls] = new $cls;
2. return @$cache[$cls] ?: $cache[$cls] = new $cls;
我在某处读到@
需要大量时间来执行(我想知道为什么),尤其是在实际发出和禁止警告/通知时。isset()
另一方面意味着额外的哈希查找。那么哪个更好,为什么?
我确实希望在全球范围内保持 E_NOTICE 处于开发和生产服务器上。