Eric Wieser
08bc333705
perf: mark move constructors and assignment operators as noexcept ( #10784 )
...
Detected by
https://clang.llvm.org/extra/clang-tidy/checks/performance/noexcept-move-constructor.html .
This ensures constructions like `std::vector<object_ref>` call these
operators instead of the copy ones, and do not do extra refcounting.
Note that `optional` and `atomic` need something more complex using
`noexcept()`, as they are templated.
2025-10-22 14:21:51 +00:00
Leonardo de Moura
1e9d96be22
perf: add lean_instantiate_level_mvars ( #4910 )
...
The new code is not active yet because of bootstrapping issues.
It requires an `update_stage0`.
2024-08-04 18:31:44 +00:00
Clement Courbet
2c002718e0
perf: fix implementation of move constructors and move assignment ope… ( #4700 )
...
…rators
Right now those constructors result in a copy instead of the desired
move. We've measured that expr copying and assignment by itself uses
around 10% of total runtime on our workloads.
See #4698 for details.
2024-08-02 17:55:03 +00:00
Leonardo de Moura
c8406a301d
chore: reduce src/include/lean
2021-09-07 08:24:54 -07:00