Added memray memory profiling infrastructure and debug guards
15 files · 537+ · 2-

Memray profiling infrastructure

11 files changed
  • __init__.py Added memray scripts package
  • memray_analysis.py Added memray analysis utility (155 lines)
  • memray_collection_functions_stress.py Added collection functions stress test (52 lines)
  • memray_env_datasource_stress.py Added env datasource stress test (74 lines)
  • memray_string_functions_stress.py Added string functions stress test (64 lines)
  • __init__.py Added memray test package
  • baselines.json Added memory allocation baselines (5 lines)
  • conftest.py Added memray test configuration (8 lines)
  • test_collection_functions_memory.py Added collection functions memory test (13 lines)
  • test_env_datasource_memory.py Added env datasource memory test (13 lines)
  • test_string_functions_memory.py Added string functions memory test (13 lines)
  • Added memray analysis script and 3 stress test scripts targeting collection functions, env datasource, and string functions instantiate behavioral
    4 files
    • memray_analysis.py
    • memray_collection_functions_stress.py
    • memray_env_datasource_stress.py
    • memray_string_functions_stress.py
  • Added pytest-memray integration with 3 memory tests and allocation baselines qualify internal
    4 files
    • test_collection_functions_memory.py
    • test_env_datasource_memory.py
    • test_string_functions_memory.py
    • baselines.json

Performance optimizations

4 files changed
  • timed_token.py Added is_debug_enabled() guards around f-string debug calls (6 lines)
  • pyproject.toml Added memray dependency (2 lines)
  • .gitignore Added memray output files to gitignore (1 line)
  • wrknv.toml Added memray task definitions (6 lines)
  • Wrapped debug() log calls with is_debug_enabled() guards in timed_token.py to prevent unnecessary string formatting streamline internal
    1 file
    • timed_token.py
  • Added memray as development dependency and wrknv.toml task definitions baseline internal
    2 files
    • pyproject.toml
    • wrknv.toml