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) {
|
||||
var sets = [];
|
||||
let sets;
|
||||
|
||||
if (!this.lengthIndex[path.length]) {
|
||||
sets = null;
|
||||
if (!this.lengthIndex[path.length])
|
||||
this.lengthIndex[path.length] = new Set();
|
||||
}
|
||||
else if (sets) {
|
||||
sets.push(this.lengthIndex[path.length])
|
||||
}
|
||||
else if (this.lengthIndex[path.length].has(path))
|
||||
return path;
|
||||
else
|
||||
sets = [this.lengthIndex[path.length]];
|
||||
|
||||
for (let i = 0; i < path.length; ++ i) {
|
||||
let fragment = path[i];
|
||||
@@ -53,7 +52,7 @@ class PathSet {
|
||||
}
|
||||
|
||||
if (!this.fragmentIndex[i][fragment]) {
|
||||
sets = null
|
||||
sets = null;
|
||||
this.fragmentIndex[i][fragment] = new Set();
|
||||
}
|
||||
else if (sets)
|
||||
|
||||
Reference in new issue
Block a user