Skip to content

PyneCore v6.0.13 - 2x Performance Boost

Choose a tag to compare

@wallneradam wallneradam released this 02 Jul 21:49
· 73 commits to main since this release

PyneCore v6.0.13 - 2x Performance Boost

πŸš€ Major Performance Improvements

⚑ 2x Speed Increase in Function Isolation

  • Optimized function isolation caching - Significant performance improvement through enhanced caching strategy and reduced overhead
  • Closure arguments transformer - New AST transformer that converts closure variables to function arguments, eliminating runtime closure overhead
  • Streamlined function cache lookup - Faster cache key generation and lookup using tuples instead of strings

🎯 Enhanced Pine Script Compatibility

pine_range() Function Enhancement

  • Full support for float and Series types in addition to integers
  • Generator-based implementation for Pine Script-compatible for loops
  • Supports float start values, end values, and step sizes
  • Maintains backward compatibility with existing integer-based loops
  • Includes floating-point precision handling and infinite loop prevention

✨ New Features

Drawing Object Array Factory Functions

  • array.new_box() - Create arrays of box drawing objects
  • array.new_line() - Create arrays of line drawing objects
  • array.new_label() - Create arrays of label drawing objects
  • array.new_linefill() - Create arrays of linefill drawing objects

Series Enhancements

  • New inline_series() function for direct series manipulation
  • SeriesImpl class now exported for advanced use cases

πŸ”§ Technical Improvements

  • Improved type safety in function isolation with proper type annotations
  • Fixed potential None reference in script runner
  • Updated AST test files to use tuples for better performance
  • Enhanced NA type with additional utility methods

πŸ“š Documentation

Breaking Changes

None - All changes are backward compatible

Commit Summary

  • fix: enhance pine_range for float/Series support and improve function isolation type safety
  • feat: add closure arguments transformer for function isolation optimization
  • feat(series): add inline_series function and export SeriesImpl
  • feat(array): implement new_box, new_line, new_label, and new_linefill