This optimisation technique results in non insignificant speed boost on some old x86 architectures. Novadays, we should rely on compiler optimisation.
This commit is contained in:
@@ -595,31 +595,6 @@ static sxi32 MemBackendRelease(SyMemBackend *pBackend) {
|
||||
pBackend->pMethods->xFree(pBlock);
|
||||
pBlock = pNext;
|
||||
pBackend->nBlock--;
|
||||
/* LOOP ONE */
|
||||
if(pBackend->nBlock == 0) {
|
||||
break;
|
||||
}
|
||||
pNext = pBlock->pNext;
|
||||
pBackend->pMethods->xFree(pBlock);
|
||||
pBlock = pNext;
|
||||
pBackend->nBlock--;
|
||||
/* LOOP TWO */
|
||||
if(pBackend->nBlock == 0) {
|
||||
break;
|
||||
}
|
||||
pNext = pBlock->pNext;
|
||||
pBackend->pMethods->xFree(pBlock);
|
||||
pBlock = pNext;
|
||||
pBackend->nBlock--;
|
||||
/* LOOP THREE */
|
||||
if(pBackend->nBlock == 0) {
|
||||
break;
|
||||
}
|
||||
pNext = pBlock->pNext;
|
||||
pBackend->pMethods->xFree(pBlock);
|
||||
pBlock = pNext;
|
||||
pBackend->nBlock--;
|
||||
/* LOOP FOUR */
|
||||
}
|
||||
if(pBackend->pMethods->xRelease) {
|
||||
pBackend->pMethods->xRelease(pBackend->pMethods->pUserData);
|
||||
@@ -850,39 +825,6 @@ PH7_PRIVATE sxi32 SyBlobSearch(const void *pBlob, sxu32 nLen, const void *pPatte
|
||||
return SXRET_OK;
|
||||
}
|
||||
zIn++;
|
||||
if(zIn > zEnd) {
|
||||
break;
|
||||
}
|
||||
SX_MACRO_FAST_CMP(zIn, pPattern, pLen, rc);
|
||||
if(rc == 0) {
|
||||
if(pOfft) {
|
||||
*pOfft = (sxu32)(zIn - (const char *)pBlob);
|
||||
}
|
||||
return SXRET_OK;
|
||||
}
|
||||
zIn++;
|
||||
if(zIn > zEnd) {
|
||||
break;
|
||||
}
|
||||
SX_MACRO_FAST_CMP(zIn, pPattern, pLen, rc);
|
||||
if(rc == 0) {
|
||||
if(pOfft) {
|
||||
*pOfft = (sxu32)(zIn - (const char *)pBlob);
|
||||
}
|
||||
return SXRET_OK;
|
||||
}
|
||||
zIn++;
|
||||
if(zIn > zEnd) {
|
||||
break;
|
||||
}
|
||||
SX_MACRO_FAST_CMP(zIn, pPattern, pLen, rc);
|
||||
if(rc == 0) {
|
||||
if(pOfft) {
|
||||
*pOfft = (sxu32)(zIn - (const char *)pBlob);
|
||||
}
|
||||
return SXRET_OK;
|
||||
}
|
||||
zIn++;
|
||||
}
|
||||
return SXERR_NOTFOUND;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user