Skip to content

perf(build): measure building without exceptions #32

Open

Description

@XavierBeheydt

Goal

Decide with numbers whether the engine builds without exceptions (-fno-exceptions with Clang, /EHs-c- and _HAS_EXCEPTIONS=0 with clang-cl).

Scope

  • A test campaign comparing the same release build with and without exceptions, on Linux and Windows: binary size, build time, and run time on benchmarks of the hot paths (logging, Result propagation, then rendering once it exists).
  • Check what breaks without exceptions: the standard library calls abort() where it would throw, vcpkg dependencies (doctest needs DOCTEST_CONFIG_NO_EXCEPTIONS, which drops CHECK_THROWS).
  • A short report in the PR with the numbers and a recommendation; turning exceptions off, if recommended, is a separate change.

How to verify

  • The report gives size, build time and benchmark times for both builds, with the commands to reproduce them.

Dependencies

Benchmarks of representative hot paths (after M0).

Suggested model

sonnet

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions