3 ms·
Yes, but there's not a chance that there's a material difference in performance between those options because of virtual functions. Unless you're doing somethi
by TheCoelacanth 2mo ago
Yes, but there's not a chance that there's a material difference in performance between those options because of virtual functions.
Unless you're doing something really stupid, nothing other than the DB access is going to be worth optimizing. If those two options are accessing the DB in exactly the same way, then they will probably be within 1% of each other in performance.
- alerighi 2mo agoDepends, for example if the variable that selects between the two implementations is a compile time constant (#define or constexpr variable) the compiler can really remove the conditional and all the code of the choice that is not always selected leading to higher performance and smaller footprint.
- jdlshore 2mo agoIt doesn’t matter. You’re saving nanoseconds when a db access costs milliseconds. Better to focus on making the code easy to understand and change and focus your effort on optimizing the database.
- zeratax 2mo agoyou are hyperfocusing on a single example. there are contexts where it matters and others where it doesnt sure, but i dont think either approach is inherently easier to understand or maintain
- TheCoelacanth 2mo agoThe only context where the overhead of a virtual function call matters is in tight inner loops. That's by far the easiest place to apply the "write something simple and readable and then measure and see if you need to change it" approach, so it just plainly doesn't work as argument against that approach.