Performance improvement in PathSet
This commit is contained in:
1 parent
739d215a92
commit
f24e05b7b6
1 file changed
+7
-8
+7
-8
@@ -31,15 +31,14 @@ class PathSet {
|
|||||||
|
|
||||||
|
|
||||||
add(path) {
|
add(path) {
|
||||||
var sets = [];
|
let sets;
|
||||||
|
|
||||||
if (!this.lengthIndex[path.length]) {
|
if (!this.lengthIndex[path.length])
|
||||||
sets = null;
|
|
||||||
this.lengthIndex[path.length] = new Set();
|
this.lengthIndex[path.length] = new Set();
|
||||||
}
|
else if (this.lengthIndex[path.length].has(path))
|
||||||
else if (sets) {
|
return path;
|
||||||
sets.push(this.lengthIndex[path.length])
|
else
|
||||||
}
|
sets = [this.lengthIndex[path.length]];
|
||||||
|
|
||||||
for (let i = 0; i < path.length; ++ i) {
|
for (let i = 0; i < path.length; ++ i) {
|
||||||
let fragment = path[i];
|
let fragment = path[i];
|
||||||
@@ -53,7 +52,7 @@ class PathSet {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!this.fragmentIndex[i][fragment]) {
|
if (!this.fragmentIndex[i][fragment]) {
|
||||||
sets = null
|
sets = null;
|
||||||
this.fragmentIndex[i][fragment] = new Set();
|
this.fragmentIndex[i][fragment] = new Set();
|
||||||
}
|
}
|
||||||
else if (sets)
|
else if (sets)
|
||||||
|
|||||||
Reference in new issue
Block a user