org.apache.cassandra.utils
Class PureJavaCrc32

java.lang.Object
  extended by org.apache.cassandra.utils.PureJavaCrc32
All Implemented Interfaces:
java.util.zip.Checksum

public class PureJavaCrc32
extends java.lang.Object
implements java.util.zip.Checksum

A pure-java implementation of the CRC32 checksum that uses the same polynomial as the built-in native CRC32. This is to avoid the JNI overhead for certain uses of Checksumming where many small pieces of data are checksummed in succession. The current version is ~10x to 1.8x as fast as Sun's native java.util.zip.CRC32 in Java 1.6

See Also:
This class is copied from hadoop-commons project. (The initial patch added PureJavaCrc32 was HADOOP-6148)

Constructor Summary
PureJavaCrc32()
          Create a new PureJavaCrc32 object.
 
Method Summary
 long getValue()
           
 void reset()
           
 void update(byte[] b, int off, int len)
           
 void update(int b)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PureJavaCrc32

public PureJavaCrc32()
Create a new PureJavaCrc32 object.

Method Detail

getValue

public long getValue()
Specified by:
getValue in interface java.util.zip.Checksum

reset

public void reset()
Specified by:
reset in interface java.util.zip.Checksum

update

public void update(byte[] b,
                   int off,
                   int len)
Specified by:
update in interface java.util.zip.Checksum

update

public final void update(int b)
Specified by:
update in interface java.util.zip.Checksum


Copyright © 2012 The Apache Software Foundation