-
Notifications
You must be signed in to change notification settings - Fork 110
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GasPvtMultiplexer: Replace unholy trinity with visitor overload sets #3279
base: master
Are you sure you want to change the base?
Conversation
🎉 |
replace SFINAE, void pointers and macro usage by visitor overload sets
0290dce
to
545f546
Compare
jenkins build this opm-models=767 opm-simulators=4325 please |
benchmark please opm-models=767 opm-simulators=4325 |
Benchmark result overview:
View result details @ https://www.ytelses.com/opm/?page=result&id=1899 |
benchmark please opm-models=767 opm-simulators=4325 |
Benchmark result overview:
View result details @ https://www.ytelses.com/opm/?page=result&id=1912 |
I did my own benchmarking, and sadly it seems the variant approach is significantly slower (this is with the whole PR chain); Total time (10 samples) for NORNE_ATW2013
|
That's disappointing. |
Sits on top of #3278
Waiting for #3246
I realize this may be controversial, and that it might have runtime implications (which we need to benchmark) but;
This replaces what I consider the unholy trinity (void pointers, macros and SFINAE) with the visitor overload set idiom in the gas multiplexer.
As a bonus we avoid the need to have explicit ctors, copy ctors, assignment and comparison operators.