public final class ByteQuadsCanonicalizer extends Object
BytesToNameCanonicalizer
which aims at more localized
memory access due to flattening of name quad data.
Performance improvement modest for simple JSON document data binding (maybe 3%),
but should help more for larger symbol tables, or for binary formats like Smile.Modifier and Type | Method and Description |
---|---|
protected void |
_reportTooManyCollisions() |
String |
addName(String name,
int q1) |
String |
addName(String name,
int[] q,
int qlen) |
String |
addName(String name,
int q1,
int q2) |
String |
addName(String name,
int q1,
int q2,
int q3) |
int |
bucketCount()
Returns number of primary slots table has currently
|
int |
calcHash(int q1) |
int |
calcHash(int[] q,
int qlen) |
int |
calcHash(int q1,
int q2) |
int |
calcHash(int q1,
int q2,
int q3) |
static ByteQuadsCanonicalizer |
createRoot()
Factory method to call to create a symbol table instance with a
randomized seed value.
|
protected static ByteQuadsCanonicalizer |
createRoot(int seed)
Factory method that should only be called from unit tests, where seed
value should remain the same.
|
String |
findName(int q1) |
String |
findName(int[] q,
int qlen) |
String |
findName(int q1,
int q2) |
String |
findName(int q1,
int q2,
int q3) |
int |
hashSeed() |
ByteQuadsCanonicalizer |
makeChild(int flags)
Factory method used to create actual symbol table instance to
use for parsing.
|
boolean |
maybeDirty()
Method called to check to quickly see if a child symbol table
may have gotten additional entries.
|
int |
primaryCount()
Method mostly needed by unit tests; calculates number of
entries that are in the primary slot set.
|
void |
release()
Method called by the using code to indicate it is done
with this instance.
|
int |
secondaryCount()
Method mostly needed by unit tests; calculates number of entries
in secondary buckets
|
int |
size() |
int |
spilloverCount()
Method mostly needed by unit tests; calculates number of entries
in shared spillover area
|
int |
tertiaryCount()
Method mostly needed by unit tests; calculates number of entries
in tertiary buckets
|
String |
toString() |
int |
totalCount() |
public static ByteQuadsCanonicalizer createRoot()
protected static ByteQuadsCanonicalizer createRoot(int seed)
public ByteQuadsCanonicalizer makeChild(int flags)
public void release()
public int size()
public int bucketCount()
public boolean maybeDirty()
public int hashSeed()
public int primaryCount()
public int secondaryCount()
public int tertiaryCount()
public int spilloverCount()
public int totalCount()
public String findName(int q1)
public String findName(int q1, int q2)
public String findName(int q1, int q2, int q3)
public String findName(int[] q, int qlen)
public int calcHash(int q1)
public int calcHash(int q1, int q2)
public int calcHash(int q1, int q2, int q3)
public int calcHash(int[] q, int qlen)
protected void _reportTooManyCollisions()
Copyright © 2008-2017 FasterXML. All Rights Reserved.