Skip to content

Proxy 3.3.0 Release

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 20 Mar 04:35
· 2 commits to main since this release
02a7c59

New Features 🌟

Quality Improvements πŸ”¬

  • Improved diagnostics by reducing constraints by @mingxwa in #262. Thanks to @SidneyCogdill for the great idea!
  • Allowed creating proxy from a null pointer by @mingxwa in #260
  • Prefered static operator() if available by @mingxwa in #267
  • Constrained proxy with facade by @mingxwa in #263
  • Switched lifetime convention to standard dispatch model by @mingxwa in #269
  • Aligned behavior of direct and indirect proxy_invoke with rvalue reference by @mingxwa in #271

Toolchain Updates πŸ› οΈ

MSVC on Windows GCC on Ubuntu Clang on Ubuntu Apple Clang on macOS NVIDIA HPC on Ubuntu
Indirect invocation on small objects via proxy vs. virtual functions (shared ownership) 🟒proxy is about 327.6% faster 🟒proxy is about 83.2% faster 🟒proxy is about 46.1% faster 🟒proxy is about 26.8% faster 🟒proxy is about 75.5% faster
Indirect invocation on large objects via proxy vs. virtual functions (shared ownership) 🟒proxy is about 165.3% faster 🟒proxy is about 28.4% faster 🟒proxy is about 20.8% faster πŸ”΄proxy is about 5.1% slower 🟒proxy is about 8.6% faster
Basic lifetime management for small objects with proxy (shared ownership) vs. std::shared_ptr (both without memory pool) 🟒proxy is about 11.8% faster 🟒proxy is about 10.8% faster 🟒proxy is about 8.5% faster 🟒proxy is about 37.5% faster 🟒proxy is about 8.8% faster
Basic lifetime management for small objects with proxy (shared ownership) vs. std::shared_ptr (both with memory pool) 🟒proxy is about 5.7% faster 🟑proxy is about 4.0% faster 🟒proxy is about 21.5% faster 🟒proxy is about 30.5% faster 🟑proxy is about 1.6% faster
Basic lifetime management for large objects with proxy (shared ownership) vs. std::shared_ptr (both without memory pool) 🟒proxy is about 21.1% faster 🟒proxy is about 6.0% faster 🟑proxy is about 0.4% slower 🟒proxy is about 48.9% faster 🟒proxy is about 8.7% faster
Basic lifetime management for large objects with proxy (shared ownership) vs. std::shared_ptr (both with memory pool) 🟒proxy is about 17.7% faster 🟒proxy is about 11.2% faster 🟒proxy is about 29.1% faster 🟒proxy is about 10.5% faster 🟑proxy is about 4.5% faster
  • Attached environment information to benchmarking report by @mingxwa in #270
  • Revised documentation for 3.3.0 by @mingxwa in #272

Full Changelog: 3.2.1...3.3.0