Repository navigation
1.1
Full Changelog: 1.0.3...1.1
Release Notes: ecgen-cpp v1.1
Overview
This release includes significant performance improvements, new algorithms, expanded benchmark coverage, and major code cleanup. The focus has been on optimizing difference set generation, adding multithreading support, and improving cross-platform compatibility.
🔥 Major Changes
1. New Algorithms & Features
- Added support for sparse sets with inline operations for faster computation.
- Implemented multithreading (Mar 13, 2024) to speed up large-scale computations.
- Added benchmark utilities for EMK and set partition algorithms.
2. Performance Optimizations
- Used
intinstead of larger types where possible for faster computation. - Inlined critical functions like
sparse-set.add(). - Saved half the computation in symmetric operations.
- Removed redundant checks and streamlined logic.
3. Expanded Test Coverage
- Added unit tests for new algorithms.
- Extended difference cover results up to order 131.
- Improved validation and verification of generated sets.
4. Code Quality & Maintenance
- Major code cleanup and removal of unused modules (e.g.,
greeter, cyclic quorum code). - Applied consistent formatting with
fix-formatandprettier. - Removed standalone builds and streamlined CMake and xmake configurations.
- Improved cross-platform support for Windows, macOS, and Linux.
5. Documentation & Build Updates
- Updated
README.mdand added documentation for new features. - Updated third-party libraries and build scripts.
- Fixed macOS and Windows builds with updated CMake policies and xmake configurations.
📅 Key Commits Highlights
- Dec 2023: Benchmarks for EMK and set partitions.
- Mar 2024: Multithreading support and cross-platform build fixes.
- May–Jun 2024: Code cleanup, formatting, and removal of deprecated features.
- Sep 2025: Additional unit tests and macOS/Linux build fixes.
📦 Compatibility
- Supports Windows, macOS, and Linux.
- Requires C++17-compatible compiler (with coroutines support retained).
- Build systems: CMake and xmake.
🔚 Summary
This release represents a substantial step forward in performance, reliability, and feature set for ecgen-cpp, making it better suited for large-scale combinatorial generation tasks.