PHP Класс Zephir\Cache\StaticMethodCache
Calls in Zephir implement monomorphic and polymorphic caches to
improve performance. Method/Functions lookups are cached in a standard
first-level method lookup cache.
The concept of inline caching is based on the empirical observation
that the objects that occur at a particular call site are often of the same type
Internal functions are considered monomorphic since they do not change across execution.
Final and private methods are also monomorphic because of their own nature.
Due to the Ahead-Of-Time compilation approach provided by Zephir, is not possible
to implement inline caches, however is possible to add barriers/guards to
take advantage of profile guided optimizations (PGO) and branch prediction.
This implementation is based on the work of Hölzle, Chambers and Ungar [1].
[1] http://www.cs.ucsb.edu/~urs/oocsb/papers/ecoop91.pdf
Показать файл
Открыть проект
Защищенные свойства (Protected)
Открытые методы
Метод |
Описание |
|
get ( Zephir\CompilationContext $compilationContext, ClassMethod | ReflectionMethod $method, boolean $allowNtsCache = true ) : string |
MethodCache |
|
Описание методов
public get ( Zephir\CompilationContext $compilationContext, ClassMethod | ReflectionMethod $method, boolean $allowNtsCache = true ) : string |
$compilationContext |
Zephir\CompilationContext |
|
$method |
Zephir\ClassMethod | ReflectionMethod |
|
$allowNtsCache |
boolean |
|
Результат |
string |
|
Описание свойств
$cache защищенное свойство