考试题~来猜猜那个方法占用内存最少。

先凭直想一下,以下三个方法(b1 b2 b3)谁占用内存最少。
并给出为什么?

代码已被折叠,点此展开
终生学习者
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 10

:pensive: 看到这些题,觉得自己就是个搬砖的

6年前 评论
LearnKuJ

当然是 b1 占得少了

6年前 评论
终生学习者

@TimJuly 为什么。

6年前 评论
LearnKuJ

@一个菜鸟 调用第二个 b1 的时候,第一个 b1 创建出来的 a 就被销毁了啊,就不占内存了啊。

6年前 评论
终生学习者

@TimJuly 666。其实这题还有一个目的,在同一个进程下想减少 new 的次数,结果画蛇添足了

6年前 评论

内存占用高,速度就会提高,反之,就速度就会降低,上面那个 b1 和 b2 后面应该加一个 unset ($b), 内存计算才准确吧

6年前 评论

这应该就是连接数据库的时候为什么推荐使用短链接而不是长链接的原因吧,长连接占用内存高,资源多吧,不即时释放

6年前 评论
终生学习者

@wojianduanfa_sxm_87 内存占用高,速度就会提高。这个想法我居然每想到。 其实就是空间与时间的平衡。

6年前 评论
lmaster

php 一般多用于网页开发,一个 web 请求一次脚本执行,执行完销毁所有。与其计算内存,不如多考虑 cpu 性能,优化代码。而且多数 php 程序都是非密集计算的,瓶颈大多出现在数据库的 I/O 上面。

6年前 评论

测试了下

class b __construct
class a __construct
a1
class a __construct
a2
class a __construct
a3
内存88
class b __construct
class a __construct
a1
a2
a3
内存440
class b __construct
class a __construct
a1
a2
a3
内存416
6年前 评论