From c7b66da44d64f4510b1b943e8604b17ebccefa7f Mon Sep 17 00:00:00 2001 From: Richard Evans Date: Tue, 26 Aug 2025 01:47:37 -0500 Subject: [PATCH 1/2] Black formatted test_real_txfunc_benchmarks.py --- tests/test_real_txfunc_benchmarks.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/test_real_txfunc_benchmarks.py b/tests/test_real_txfunc_benchmarks.py index cdd63eaa8..b01cce8b2 100644 --- a/tests/test_real_txfunc_benchmarks.py +++ b/tests/test_real_txfunc_benchmarks.py @@ -705,7 +705,6 @@ def test_platform_specific_optimal_config(): ) os.makedirs(os.path.dirname(rec_file), exist_ok=True) - with open(rec_file, "w") as f: json.dump(recommendation, f, indent=2) From 777a8ade8c1679a1f8dde208cafd29df33b2de24 Mon Sep 17 00:00:00 2001 From: Richard Evans Date: Tue, 26 Aug 2025 01:55:23 -0500 Subject: [PATCH 2/2] Updated version --- CHANGELOG.md | 32 ++++++++++++++++++++++++++++++++ ogcore/__init__.py | 2 +- setup.py | 2 +- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 62a0a0241..4aef3ffa3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,37 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.14.8] - 2025-08-26 12:00:00 + +### Added + +- Adds a complete benchmark suite for measuring and optimizing Dask performance in OG-Core, with particular focus on Windows performance issues. +- New and updated files: + - tests/test_dask_benchmarks.py: Mock benchmark tests with synthetic workloads + - tests/test_real_txfunc_benchmarks.py: Real-world tax function benchmarks + - tests/run_benchmarks.py: Automated benchmark runner with reporting + - tests/BENCHMARK_README.md: Comprehensive documentation and usage guide + - pytest.ini: Updated with benchmark test markers +- Key features: + - Platform-specific optimization tests (Windows, macOS, Linux) + - Memory usage and compute time benchmarking + - Baseline establishment and performance regression detection + - Comparison of different Dask schedulers and client configurations + - Real tax function estimation performance measurement + - Automated identification of optimal Dask settings per platform +- Benefits: + - Establishes performance baselines before optimization work + - Identifies Windows-specific Dask performance bottlenecks + - Provides automated regression detection for future changes + - Enables data-driven optimization decisions + - Supports continuous performance monitoring +- Usage: + - `python tests/run_benchmarks.py # Run all benchmarks` + - `python tests/run_benchmarks.py --quick # Quick benchmarks only` + - `python tests/run_benchmarks.py --save-baseline # Save performance baseline` + - `python tests/run_benchmarks.py --compare-baseline # Compare against baseline` +- 🤖 Generated with help from Claude Code + ## [0.14.7] - 2025-08-21 17:00:00 ### Added @@ -409,6 +440,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Any earlier versions of OG-USA can be found in the [`OG-Core`](https://github.com/PSLmodels/OG-Core) repository [release history](https://github.com/PSLmodels/OG-Core/releases) from [v.0.6.4](https://github.com/PSLmodels/OG-Core/releases/tag/v0.6.4) (Jul. 20, 2021) or earlier. +[0.14.8]: https://github.com/PSLmodels/OG-Core/compare/v0.14.7...v0.14.8 [0.14.7]: https://github.com/PSLmodels/OG-Core/compare/v0.14.6...v0.14.7 [0.14.6]: https://github.com/PSLmodels/OG-Core/compare/v0.14.5...v0.14.6 [0.14.5]: https://github.com/PSLmodels/OG-Core/compare/v0.14.4...v0.14.5 diff --git a/ogcore/__init__.py b/ogcore/__init__.py index c5f368bd5..b63859954 100644 --- a/ogcore/__init__.py +++ b/ogcore/__init__.py @@ -20,4 +20,4 @@ from ogcore.txfunc import * from ogcore.utils import * -__version__ = "0.14.7" +__version__ = "0.14.8" diff --git a/setup.py b/setup.py index 60f21fa0b..f86a6d5a8 100755 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="ogcore", - version="0.14.7", + version="0.14.8", author="Jason DeBacker and Richard W. Evans", license="CC0 1.0 Universal (CC0 1.0) Public Domain Dedication", description="A general equilibrium overlapping generations model for fiscal policy analysis",