als / erusage
Erusage 组件。
Requires (Dev)
- parser/composer: ^1.0
This package is auto-updated.
Last update: 2024-09-24 18:08:07 UTC
README
内存使用量和垃圾收集。
安装
$ composer require als/erusage
信息
终于到了... 然后我们到了垃圾收集的阶段... 谁说这会很容易?总之,使用它并不是必需的,但有时它可能会派上用场。原始的 ^memory:compact[]
没有人取消,但每次打喷嚏时都调用它并不值得,因为这个操作并不特别快。
这里可能有助于提供的类 Als/Erusage
,其任务基本上是做完全一样的事情:周期性地调用 ^memory:compact[]
,但不会一直这样做。此外,它还将收集一些简单的统计信息,这可能对您有所帮助。
通常很简单:在您认为应该进行垃圾收集的地方,调用 ^Als/Erusage:compact[]
而不是普通的 ^memory:compact[]
。就是这样。 :)
这会带来什么?事实上,类只会在自上次垃圾收集以来使用的内存超过 $.iLimit
(默认为 2048 KB)时调用解析器 ^memory:compact[]
,否则不会做任何事情(除了记录调用次数)。可以通过调用静态方法 ^Als/Erusage:init[ $.iLimit(4096) ]
来更改 $.iLimit
的值。
如果在代码的某个时空点,您决定必须执行真正的 ^memory:compact[]
,那么请大胆地调用 ^Als/Erusage:compact[ $.bForce(1) ]
,它将执行,愿它长久:)
最后,在 @postprocess[]
中,您可以调用 ^Als/Erusage:print[]
并将累积的结果输出到屏幕(或者如果调用 ^Als/Erusage:print[ $.sFile[路径/到/文件.log] ]
,则输出到文件)。
此外,您还可以从 @postprocess[]
调用 ^Als/Erusage:log[ $.sFile[/路径/到/erusage.log] ]
,并将类写入日志的时间形成页面和使用的内存(以及其他一些有用的细节)。
现在一切都结束了:)
参考资料
- 错误和功能请求在 GitHub 上跟踪