> On Tue 28-11-17 09:49:45, Jiang Biao wrote:> > 1. Use unlikely to try to improve branch prediction. The > > *total_scan < 0* branch is unlikely to reach, so use unlikely. > > > > 2. Optimize *next_deferred >= scanned* condition. > > *next_deferred >= scanned* condition could be optimized into > > *next_deferred > scanned*, because when *next_deferred == scanned*, > > next_deferred shoud be 0, which is covered by the else branch. > > > > 3. Merge two branch blocks into one. The *next_deferred > 0* branch > > could be merged into *next_deferred > scanned* to simplify the code. > > How have you measured benefit of this patch? No accurate measurement for now. Theoretically, unlikely could improve branch prediction for unlikely branch. It's hard to measure the benefit of 2 and 3, any idea to do that enlightened would be greatly appreciated. :) But it could simply code logic from coding perspective。