[ https://issues.apache.org/jira/browse/HADOOP-6166?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12741993#action_12741993 ]
Scott Carey commented on HADOOP-6166: ------------------------------------- We probably want to have Todd's concurrency test from HADOOP-5318 run to make sure the larger lookup table doesn't slow things down under concurrency. We might also want to try the old four at a time code for 4 <= len < 8. We should also confirm the results on one of the other systems we tested in the past. I won't be able to do that for a couple days, but it should be easy then. How many other variants did you try? Intel's C code does some strange things to group CRC's by 3. Maybe something like the below is worth testing if it hasn't already been done haven't already: {code}+public class Crc32_8_8e extends Crc32Base { public void update(byte[] b, int off, int len) { while(len > 7) { int c0 = b[off++] ^ crc; int c1 = b[off++] ^ (crc >>>= 8); int c2 = b[off++] ^ (crc >>>= 8); int c3 = b[off++] ^ (crc >>>= 8); crc = T8_7[c0 & 0xff] ^ T8_6[c1 & 0xff] ^ T8_5[c2 & 0xff] ^ T8_4[c3 & 0xff]; // three xors crc ^= T8_3[b[off++] & 0xff] ^ T8_2[b[off++] & 0xff]; // two xors crc ^= T8_1[b[off++] & 0xff] ^ T8_0[b[off++] & 0xff]; // two xors len -= 8; } while(len > 0) { crc = (crc >>> 8) ^ T8_0[(crc ^ b[off++]) & 0xff]; len--; } } }{code} > Improve PureJavaCrc32 > --------------------- > > Key: HADOOP-6166 > URL: https://issues.apache.org/jira/browse/HADOOP-6166 > Project: Hadoop Common > Issue Type: Improvement > Components: util > Reporter: Tsz Wo (Nicholas), SZE > Assignee: Tsz Wo (Nicholas), SZE > Attachments: c6166_20090722.patch, c6166_20090722_benchmark_32VM.txt, > c6166_20090722_benchmark_64VM.txt, c6166_20090727.patch, > c6166_20090728.patch, c6166_20090810.patch > > > Got some ideas to improve CRC32 calculation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.