估量通常的PHP程序员对这行代码并不晓得是干嘛的。但单从语义的字面意思上能够猜出,它是要制止PHP的废物搜集器。没错,即是这个意思。
给那些想寻求技能解说的人阐明一下,在Composer里,PHP的废物搜集器糟蹋了许多的CUP本钱,它企图搜集因为Composer在处理程序依托疑问时分发作的不行胜数的方针(这些方针是Composer用来表达依托包内部规矩的)。方针在不断的出产,它就一遍又一遍的搜集,但实践上它啥都没搜集到,但每次方针的出产都会触发它再次搜集。
制止PHP的废物搜集器尽管阻挠了PHP的高档功用,但却开释了许多的内存,这样,Composer有满意的内存来做自个的作业,而不是让它们糟蹋在啥废物都搜集不到的活动中。通过这样的批改后,许多人都陈述内存运用量大幅度降低。
为何这个疑问这么久了才被人发现?看起来缘由是功用优化东西无法检查到废物搜集器的作业。很显着,这是功用优化东西的疑问,希望往后后有所改进。但大大都状况下,这PHP的这个特征并不会变成一个疑问,我不主张你们都在自个的项目中制止废物搜集器的作业。 在大大都状况下,PHP的废物搜集器是十分有用的,仅仅在咱们的Composer东西里它呈现了疑问。
上面的这段话是这段代码的批改人Seldaek在Hacker News上给咱们的解说。
说的很了解了解,消除了咱们的疑问,但这不是这篇文章的要点,这篇文章要说的要点是咱们对这一严峻批改的反响,悉数体如今了Github的谈论里。太欢乐了。你会发现程序员是最诙谐的,下面选几个比方:
网友clemherreman谈论:
Before: Memory usage: 163.66MB (peak: 403.82MB), time: 246.25sAfter: Memory usage: 163.34MB (peak: 350.36MB), time: 99.55s
网友martindines谈论:
Before: Memory usage: 152.71MB (peak: 335.9MB), time: 195.99sAfter: Memory usage: 164MB (peak: 308.02MB), time: 104.06s
网友eXtreme谈论:
Before: Memory usage: 217.37MB (peak: 631.42MB), time: 313.4sAfter: Memory usage: 174.62MB (peak: 495.42MB), time: 152.3sAfter latest commit: Memory usage: 174.88MB (peak: 495.1MB), time: 67.73s
网友j0k3r谈论:
Memory usage: 385.05MB (peak: 910.03MB), time: 138.81sMemory usage: 384.93MB (peak: 863.22MB), time: 26.12s
网友youbs谈论:
Before:Memory usage: 2194.78MB (peak: 3077.39MB), time: 1324.69sAfter:Memory usage: 4542.54MB (peak: 4856.12MB), time: 232.66s
网友johnpbloch谈论:
Before: Memory usage: 43.34MB (peak: 69.12MB), time: 26.57sAfter: Memory usage: 43.67MB (peak: 60.27MB), time: 7.01s
网友o谈论:
Our builds are now faster than ever!
网友oscherler谈论:
Before: Memory usage: 272.95MB (peak: 898.45MB), time: 144.32sAfter: Memory usage: 257.05MB (peak: 608.25MB), time: 24.34s
网友raphaelstolt谈论:
Memory usage: 94.01MB (peak: 163.47MB), time: 11.24sMemory usage: 87.91MB (peak: 123.66MB), time: 3.38s
网友malaney谈论:
Before:Memory usage: 207.13MB (peak: 705.58MB), time: 762.59sAfter:Memory usage: 164.42MB (peak: 469.22MB), time: 53.98s
哦,太多了….
你是不是也乐了,这些搞技能的人是多么风趣一群人呀,日子中尽管有些寡言少语,但在作业中,在技能疑问上,他们诙谐、好学、欢闹的性情才真实的表现出来。