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:
2018-03-27 19:30:18 +02:00
parent de0f8412bd
commit 81711d551f
7 changed files with 76 additions and 47 deletions

View File

@@ -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) {