Nice to know but arguably real-life C++ code using error codes written today won't (shouln't) look anything like their C code. Ok it might not change the outcome of the performance tests but still it would imo be more interesting to see the results of something like
llvm::ErrorOr< int > func0() {
const int num = random() % 5;
if(num == 0) {
return func1();
}
//etc
}
Also I'm not too sure the 'because call stacks are usually not this deep' (for depth of about 66) claim is justified, depending on the type of application.