Skip to content

v3.0.0: Performance Boost, New Modules, and Streamlined Configuration

Latest
Compare
Choose a tag to compare
@fglock fglock released this 26 Feb 18:07
· 9 commits to master since this release

v3.0.0: Performance Boost, New Modules, and Streamlined Configuration

This release enhances PerlOnJava with significant performance optimizations, expanded module support, and improved configuration management, making Perl on the JVM faster and more efficient.


Highlights

1. Faster Start-up with On-Demand Code Generation

Code generation is now executed on demand, significantly reducing module loading time and improving overall performance.

2. Optimized Memory Usage

Scalar variables now use int instead of enum, lowering memory overhead and improving efficiency.

3. Improved Invocation Speed

Switched to JVM MethodHandle instead of Method, enabling faster execution of dynamically generated code.

4. Expanded Module Support

Added Time::HiRes and Benchmark modules, providing high-resolution timing and benchmarking capabilities for performance-critical applications.

5. Enhanced Regular Expressions

Introduced the /ee regex modifier, allowing double evaluation of replacement expressions for advanced text processing.

6. Configuration and Dependency Management

  • Added a --upgrade option to Configure.pl, making it easier to upgrade dependencies seamlessly.
  • Introduced a Dockerfile for simplified containerized deployment.

7. Relaxed Strictness for Compatibility

PerlOnJava now supports no strict 'vars' and no strict 'subs', improving compatibility with legacy code and dynamic constructs.


All Changes

Performance Enhancements:

  • Execute code generation on demand for faster module loading.
  • Use int instead of enum to reduce scalar variable memory overhead.
  • Utilize JVM MethodHandle for more efficient invocation of generated code.

New Features:

  • Added Time::HiRes and Benchmark modules.
  • Added the /ee regex modifier for advanced text transformation.
  • Allowed no strict 'vars' and no strict 'subs' for improved script compatibility.

Configuration and Deployment:

  • Introduced a --upgrade option in Configure.pl to update dependencies.
  • Added a Dockerfile for container-based execution.

This release refines the performance and usability of PerlOnJava, making it a more powerful and flexible Perl distribution for the JVM ecosystem.

Explore the project: [GitHub](https://github.com/fglock/PerlOnJava)\
Try the new Docker support! Check out the included Dockerfile for easy deployment.