浏览代码

Perf: make build reject hosts faster

SukkaW 2 年之前
父节点
当前提交
6ffff1093b
共有 2 个文件被更改,包括 5 次插入22 次删除
  1. 2 2
      Build/build-reject-domainset.js
  2. 3 20
      Build/lib/aho-corasick.js

+ 2 - 2
Build/build-reject-domainset.js

@@ -141,8 +141,8 @@ const domainSuffixSet = new Set();
   });
   for await (const line of rl3) {
     const l = processLine(line);
-    if (l) {
-      domainSets.add(l);
+    if (l && l[0] === '.') {
+      domainSuffixSet.add(l.slice(1));
     }
   }
 

+ 3 - 20
Build/lib/aho-corasick.js

@@ -83,19 +83,9 @@ const createKeywordFilter = (keys) => {
     }
   };
 
-  /**
-   * @param {string} key
-   */
-  const add = (key) => {
-    const len = key.length;
-    put(key, len);
-    build();
-
-    return true;
-  };
-
-  for (let idx = 0; idx < keys.length; idx++) {
-    add(keys[idx], false);
+  for (let idx = 0, len = keys.length; idx < len; idx++) {
+    const key = keys[idx];
+    put(key, key.length);
   }
 
   build();
@@ -106,10 +96,6 @@ const createKeywordFilter = (keys) => {
    */
   const search = (text) => {
     let node = root;
-    /** @type {string[]} */
-    const fText = [];
-    /** @type {string[]} */
-    const oText = [];
 
     for (let i = 0, textLen = text.length; i < textLen; i++) {
       // const key = text.charAt(i);
@@ -120,9 +106,6 @@ const createKeywordFilter = (keys) => {
       }
       node = node?.children[key] || root;
 
-      fText.push(key);
-      oText.push(key);
-
       if (node.word) {
         return true;
       }