|
Ran
|
Jobs
1
|
Files
2353
|
Run time
9min
|
Badge
README BADGES
|
push
<a href="https://github.com/STEllAR-GROUP/hpx/commit/<a class=hub.com/STEllAR-GROUP/hpx/commit/c58be50122f15c4fe00b6423adafbd7a6eb4fa38">c58be5012<a href="https://github.com/STEllAR-GROUP/hpx/commit/c58be50122f15c4fe00b6423adafbd7a6eb4fa38">">Merge #5589 5589: Add HPX_FORWARD/HPX_MOVE macros r=msimberg a=msimberg Inspired by https://github.com/boostorg/hana/commit/</a><a class="double-link" href="https://github.com/STEllAR-GROUP/hpx/commit/<a class="double-link" href="https://github.com/STEllAR-GROUP/hpx/commit/540f665e5132d75bbf6eda704638622727c0c01c">540f665e5</a>">540f665e5</a><a href="https://github.com/STEllAR-GROUP/hpx/commit/c58be50122f15c4fe00b6423adafbd7a6eb4fa38"> and https://www.foonathan.net/2020/09/move-forward/, this replaces `std::forward` and `std::move` with `static_cast`s. In principle I hate this change, but this gives an approximately 5% speedup in compilation (tested on `for_loop` and `thread_pool_scheduler` tests, which both use forward/move quite heavily). To me this makes the change worth it, but if there are objections please speak up. Especially `@hkaiser` and `@K-ballo,` I'd appreciate if you know of any clear downsides to doing this. This was tested with GCC 10. I'd imagine other compilers might see different effects from this. To do: - [x] fix all three-argument calls to std::move (should not use `HPX_MOVE`) - [x] don't use `HPX_MOVE` or `HPX_FORWARD` in tests and examples (this is a purely internal utility) - [x] decide between `#define HPX_FORWARD(x) static_cast<decltype(x)>(x)` and `#define HPX_FORWARD(T, x) static_cast<T&&>(x)` - [x] use the `decltype` version Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
162856 of 189647 relevant lines covered (85.87%)
2818554.18 hits per line
| ID | Job ID | Ran | Files | Coverage | |
|---|---|---|---|---|---|
| 1 | #619.1 | 0 |
85.87 |