als/erusage

Erusage 组件。

安装: 4

依赖: 1

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

语言:OpenEdge ABL

1.0.0 2016-11-17 20:16 UTC

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 上跟踪