Da sich die Debatte in einem Vergleich der AndyProwl- und Alon-Lösung entwickelt hat, habe ich beide Lösungen verglichen, und das Ergebnis ... hängt von der Anzahl der Argumente ab.
Kompilieren mit:
%Vor%bewertet die AndyProwl-Lösung und kompiliert mit:
%Vor%bewertet die Alon-Lösung.
Hier ist das Programm des Benchmarks für 10 Argumente.
%Vor%Bei 50 Benchmarks für jede Lösung mit einer gegebenen Anzahl von Argumenten ist die Streuung sehr klein und die mittlere Zeit über diesen Benchmarks ist ein zuverlässiger Indikator.
Mein erster Benchmark war die "richtige" Anzahl von Argumenten, bei denen die Alon-Lösung schneller ist als die AndyProwl-Lösung.
Die Endergebnisse sind hier:
Also ist die AndyProwl-Lösung im Allgemeinen schneller als die Alon-Lösung. So, jetzt kann ich deine Antwort bestätigen. Aber ich denke, dass der Unterschied so klein ist, dass es von Architektur / Compiler abhängig ist.
Also:
Sie können sie separat ausführen und einen bool-Ausdruck zurückgeben:
%Vor%Tags und Links c++ c++11 templates variadic-templates logic