Skip to content

Major benchmark.py and synthesizers/ update#575

Open
exemburg wants to merge 3 commits intosdv-dev:mainfrom
exemburg:main
Open

Major benchmark.py and synthesizers/ update#575
exemburg wants to merge 3 commits intosdv-dev:mainfrom
exemburg:main

Conversation

@exemburg
Copy link
Copy Markdown

Refactored SDGym to centralize tunables (ConfigTunables), encapsulate memory tracing (MemoryTracker), and lazy‑register SDV synths to eliminate import‑time side effects; added stronger typing, docstrings, a Modality enum and abstract method contracts; made synthesizer handling immutable (copy before mutate), standardized pathlib usage, and improved S3 handling with a lazy boto3 client, timeouts/retries and safer metainfo logic; scoped tracemalloc and synthesizer size measurement, made sampling deterministic (GMM randomstate, ninit) and vectorized, guarded edge cases/NaNs, removed private API reliance, improved logging and error messages, returned plain dicts from I/O helpers, and prepared the code for safer multiprocessing, better timeout/termination, CI tests, and overall improved reliability, performance, reproducibility, and maintainability.

Replaced import-time side effects with registersdvsynthesizers, added lazy registration and optional dependency handling.
Introduced Modality enum, abc.abstractmethod enforcement, clearer typing and metadata handling. Improvements: contract safety and static analysis readability and testability
Vectorized sampling, deterministic GMM settings, guards for edge cases and NaNs, better logging.
  - Improvements: runtime performance and reproducibility  robustness for dirty/small datasets maintainability
@exemburg exemburg requested a review from a team as a code owner March 15, 2026 00:28
@exemburg exemburg requested review from amontanez24 and removed request for a team March 15, 2026 00:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant