fix performance regression
The last improvement of memory usage introduced a performance regression. The ingestion performance dropped by 50%-80%, because for every inserted entry the Tags were created inefficient.
This commit is contained in:
@@ -9,6 +9,7 @@ import java.util.Map;
|
||||
import org.lucares.pdb.api.StringCompressor;
|
||||
import org.lucares.pdb.api.Tag;
|
||||
import org.lucares.pdb.api.Tags;
|
||||
import org.lucares.pdb.api.TagsBuilder;
|
||||
import org.lucares.pdb.api.UniqueStringIntegerPairs;
|
||||
|
||||
public class MemoryScale {
|
||||
@@ -70,7 +71,6 @@ public class MemoryScale {
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static Object createTag() {
|
||||
@@ -90,13 +90,14 @@ public class MemoryScale {
|
||||
}
|
||||
|
||||
private static Object createTags6() {
|
||||
Tags result = Tags.create("k1", "v1");
|
||||
result = result.copyAdd("k2", "v2");
|
||||
result = result.copyAdd("k3", "v3");
|
||||
result = result.copyAdd("k4", "v4");
|
||||
result = result.copyAdd("k5", "v5");
|
||||
result = result.copyAdd("k6", "v6");
|
||||
return result;
|
||||
TagsBuilder result = TagsBuilder.create();
|
||||
result = result.add("k1", "v1");
|
||||
result = result.add("k2", "v2");
|
||||
result = result.add("k3", "v3");
|
||||
result = result.add("k4", "v4");
|
||||
result = result.add("k5", "v5");
|
||||
result = result.add("k6", "v6");
|
||||
return result.build();
|
||||
}
|
||||
|
||||
private static Object createPathAsUtf8(final String string) {
|
||||
|
||||
Reference in New Issue
Block a user