c++ - if-else vs if performance -


suppose want program takes number input device, , return -1 if number 0, continue executing program in other cases.

in c++, part of code be:

int main() {     if(number == 0) return -1;     /*         here rest of program     */     return 0; // end of program } 

or

int main() {     if(number == 0) return -1;     else {         /*             here rest of program         */     }     return 0; // end of program } 

my question is, 1 of these code parts more efficient?

and yes, i'm talking exact case, when need exit program if meets condition.

there no performance difference since generated code same:

$ echo "int main() { int number; if (number == 0) return -1; return 0; }" | g++ -x c++ -s - -o /dev/stdout | md5sum 9430c430d1f748cc920af36420d160ce  -  $ echo "int main() { int number; if (number == 0) return -1; else {} return 0; }" | g++ -x c++ -s - -o /dev/stdout | md5sum 9430c430d1f748cc920af36420d160ce  -  $ echo "int main() { int number; if (number == 0) return -1; else {} return 0; }" | g++ -x c++ -s - -o /dev/stdout      .file   ""     .text     .globl  main     .type   main, @function main: .lfb0:     .cfi_startproc     pushq   %rbp     .cfi_def_cfa_offset 16     .cfi_offset 6, -16     movq    %rsp, %rbp     .cfi_def_cfa_register 6     cmpl    $0, -4(%rbp)     jne .l2     movl    $-1, %eax     jmp .l3 .l2:     movl    $0, %eax .l3:     popq    %rbp     .cfi_def_cfa 7, 8     ret     .cfi_endproc .lfe0:     .size   main, .-main     .ident  "gcc: (ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4"     .section    .note.gnu-stack,"",@progbits 

Comments