From: Piotr Dałek Date: Thu, 19 Nov 2015 09:57:46 +0000 (+0100) Subject: common/hobject.h: don't reverse bits in zero X-Git-Tag: v10.0.2~167^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=9109f14ea10d6cd0dd0605a2e2b9ad8398cbf392;p=ceph.git common/hobject.h: don't reverse bits in zero Zero is passed in around 30% of all calls to _reverse_bits (and most of them during daemon startup). Optimize this by not doing anything in that special case and returning 0. Signed-off-by: Piotr Dałek --- diff --git a/src/common/hobject.h b/src/common/hobject.h index 469875651555..601af40fa43f 100644 --- a/src/common/hobject.h +++ b/src/common/hobject.h @@ -176,6 +176,8 @@ public: } static uint32_t _reverse_bits(uint32_t v) { + if (v == 0) + return v; // reverse bits // swap odd and even bits v = ((v >> 1) & 0x55555555) | ((v & 0x55555555) << 1);