Updating branch refs/heads/master
to 4dae65d80242c9c3c5bc22931132b64d53da863f (commit)
from 11ff993ecde4b98dd5e71613946bf5616fc23410 (commit)
commit 4dae65d80242c9c3c5bc22931132b64d53da863f
Author: Alexander Butenko <[email protected]>
Date: Thu Jan 14 01:52:43 2010 +0100
Speedup adblock by removing greedy regex if we have 1 or 2 signatures
extensions/adblock.c | 4 ++++
1 files changed, 4 insertions(+), 0 deletions(-)
diff --git a/extensions/adblock.c b/extensions/adblock.c
index 26ec537..042cfde 100644
--- a/extensions/adblock.c
+++ b/extensions/adblock.c
@@ -926,6 +926,7 @@ adblock_compile_regexp (GHashTable* tbl,
if (!g_regex_match_simple ("^/.*[\\^\\$\\*].*/$", patt, G_REGEX_UNGREEDY,
G_REGEX_MATCH_NOTEMPTY))
{
int len = strlen (patt);
+ int signature_count = 0;
for (pos = len - SIGNATURE_SIZE; pos >= 0; pos--) {
sig = g_strndup (patt + pos, SIGNATURE_SIZE);
if (!g_regex_match_simple ("[\\*]", sig, G_REGEX_UNGREEDY,
G_REGEX_MATCH_NOTEMPTY) &&
@@ -933,6 +934,7 @@ adblock_compile_regexp (GHashTable* tbl,
{
/* g_debug ("sig: %s %s", sig, patt); */
g_hash_table_insert (keystbl, sig, regex);
+ signature_count++;
}
else
{
@@ -945,6 +947,8 @@ adblock_compile_regexp (GHashTable* tbl,
g_free (sig);
}
}
+ if (signature_count > 1 && g_hash_table_lookup (tbl, opts))
+ g_hash_table_steal (tbl, opts);
}
else
{
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits