> On 12/11/2015 10:40, Li, Liang Z wrote: > > I migrate a 8GB RAM Idle guest, I think most of it's pages are zero pages. > > > > I use your new code: > > ------------------------------------------------- > > unsigned long *p = ... > > if (p[0] || p[1] || p[2] || p[3] > > || memcmp(p+4, p, size - 4 * sizeof(unsigned long)) != 0) > > return BUFFER_NOT_ZERO; > > else > > return BUFFER_ZERO; > > --------------------------------------------------- > > and the result is almost the same. I also tried the check 8, 16 long > > data at the beginning, same result. > > Interesting... Well, all I can say is that applaud you for testing your > hypothesis > with the benchmark. > > Probably the setup cost of memcmp is too high, because the testing loop is > already very optimized. > > Please submit the AVX2 version if it helps!
Yes, the AVX2 version really helps. I have already submitted it, could you help to review it? I am curious about the original intention to add the SSE2 Intrinsics, is the same reason? I even suspect the VM may impact the 'memcmp()' performance, is it possible? Liang > Paolo