mirror of
https://github.com/gorhill/uBlock.git
synced 2024-11-05 18:32:30 +01:00
c229003d31
Implement a plain string trie container class: STrieContainer. Make use of STrieContainer where beneficial Some filter buckets can grow quite large, and in such case coalescing "trieable" filter classes into a single trie reduces lookup performance and memory usage. For instance, at time of commit, the filter bucket for the `ad` keyword contains 919 entries[1]. Coalescing trieable filters of the same class into a single plain string trie reduced the size of the bucket into 50 entries + two tries which are scanned only once each whenever the bucket is visited. [1] Enter the following code at uBO's dev console: µBlock.staticNetFilteringEngine.categories.get(0).get(µBlock.urlTokenizer.tokenHashFromString('ad')) Refactor static network filtering engine code to make use of ES6's syntactic sugar `class`. Change first auto-update run from 7 to 5 minutes.
48 lines
1.8 KiB
HTML
48 lines
1.8 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>uBlock Origin</title>
|
|
</head>
|
|
<body>
|
|
<script src="js/console.js"></script>
|
|
<script src="lib/lz4/lz4-block-codec-any.js"></script>
|
|
<script src="lib/punycode.js"></script>
|
|
<script src="lib/publicsuffixlist/publicsuffixlist.js"></script>
|
|
<script src="js/vapi.js"></script>
|
|
<script src="js/vapi-common.js"></script>
|
|
<script src="js/vapi-background.js"></script>
|
|
<script src="js/vapi-webrequest.js"></script><!-- Forks can pick the webext, chromium, or their own implementation -->
|
|
<script src="js/background.js"></script>
|
|
<script src="js/traffic.js"></script>
|
|
<script src="js/hntrie.js"></script>
|
|
<script src="js/strie.js"></script>
|
|
<script src="js/utils.js"></script>
|
|
<script src="js/uritools.js"></script>
|
|
<script src="js/lz4.js"></script>
|
|
<script src="js/cachestorage.js"></script>
|
|
<script src="js/assets.js"></script>
|
|
<script src="js/filtering-context.js"></script>
|
|
<script src="js/redirect-engine.js"></script>
|
|
<script src="js/dynamic-net-filtering.js"></script>
|
|
<script src="js/static-net-filtering.js"></script>
|
|
<script src="js/url-net-filtering.js"></script>
|
|
<script src="js/static-ext-filtering.js"></script>
|
|
<script src="js/cosmetic-filtering.js"></script>
|
|
<script src="js/scriptlet-filtering.js"></script>
|
|
<script src="js/html-filtering.js"></script>
|
|
<script src="js/hnswitches.js"></script>
|
|
<script src="js/ublock.js"></script>
|
|
<script src="js/messaging.js"></script>
|
|
<script src="js/storage.js"></script>
|
|
<script src="js/logger.js"></script>
|
|
<script src="js/pagestore.js"></script>
|
|
<script src="js/tab.js"></script>
|
|
<script src="js/text-encode.js"></script>
|
|
<script src="js/contextmenu.js"></script>
|
|
<script src="js/reverselookup.js"></script>
|
|
<script src="js/start.js"></script>
|
|
<script src="js/commands.js"></script>
|
|
</body>
|
|
</html>
|