- /*
- * As an experiment I tried the following assembly for memcmp here:
- *
- * correct_cmp_loop:
- * incl %eax ; eax = LHS
- * incl %edx ; edx = LRS
- * cmpl %eax, %ebx ; ebx = &LHS[END_POS]
- *
- * jbe correct_cmp_eq
- * movb (%edx), %cl ; micro-optimized even on atoms :-)
- * cmpb %cl, (%eax) ; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- * jg correct_cmp_gt
- * jge correct_cmp_loop
- * ...
- *
- * Despite how much optimization went in to this, the speed was the
- * being conflicted by the strlen(ident) used for &LHS[END_POS]
- * If we could eliminate the strlen with what I suggested on line
- * 311 ... we can accelerate this whole damn thing quite a bit.
- *
- * However there is still something we can do here that does give
- * us a little more speed. Although one more branch, we know for
- * sure there is at least one byte to compare, if that one byte
- * simply isn't the same we can skip the full check. Which means
- * we skip a whole strlen call.
- */