Reflect 3.0.0 enhanced the cache system.

Yesterday, I’ve introduced that development of new major version 3.0 of Reflect has started.

Perhaps you should asked how did I’ve improved analysis speed ?

Reflect v2 suffered that the cache plugin only wrote AST (Abstract Syntax Tree) results (from PHP-Parser).

Building nodes is not the bottleneck of Reflect. Translate each AST node to a corresponding Model, in one of the major part of memory consumption.

Reflect v3 analysers will get their informations directly from the AST nodes. Models are kept only for a compatibility with PHP Reflection (that is part of another subject).

If analysers need to store persistent data, they will do in each contextual AST nodes.

Remember AST in wrote in cache if the plugin is activated.

Actually only PHP-CompatInfo and its compatibility analyser will used this feature (store persistent data). See also post

Published by Laurent Laville on 2014-12-16