|
|||||
|
|||||
Useful Things |
Optimizers
Since MVEL is a dynamic language using a dynamic runtime, it is through necessity that scripts access fields and methods of objects via reflection. As this has serious performance implications, MVEL is equipped with optimizers which are designed to either minimize or remove the overhead of reflection calls. By default, MVEL has two default optimizers: the Reflective optimizer, and the ASM (Bytecode) optimizer. The Reflective OptimizerThe reflective optimizer is also referred to as the The reflective optimizer performs it's optimization by producing a Fast Reflection Evaluation Tree which negates the need for field and method lookups at runtime by caching reflection targets within a normalized evaluation tree. This optimizer can be made default by configuring MVELs OptimizerFactory: The ASM (Bytecode) OptimizerThe ASM bytecode optimizer is enabled by default in MVEL. It uses an inlined version of the ASM 3.0 Bytecode Manipulation library to produce compiled reflection accessor stubs which are used in place of reflection calls. The optimizer is made default by using the following API call: |
||||
|
Copyright 2003-2006 - The Codehaus. All rights reserved unless otherwise noted.
Powered by Atlassian Confluence
|
|||||