[Content Extensions] Decrease maxNFASize
authorachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 May 2015 21:20:48 +0000 (21:20 +0000)
committerachristensen@apple.com <achristensen@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 29 May 2015 21:20:48 +0000 (21:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=145461

Reviewed by Gavin Barraclough.

* contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileRuleList):
Decrease maxNFASize based on analysis of memory usage and compiling and interpreting time.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@185004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/contentextensions/ContentExtensionCompiler.cpp

index fa46deb..9883081 100644 (file)
@@ -1,3 +1,14 @@
+2015-05-29  Alex Christensen  <achristensen@webkit.org>
+
+        [Content Extensions] Decrease maxNFASize
+        https://bugs.webkit.org/show_bug.cgi?id=145461
+
+        Reviewed by Gavin Barraclough.
+
+        * contentextensions/ContentExtensionCompiler.cpp:
+        (WebCore::ContentExtensions::compileRuleList):
+        Decrease maxNFASize based on analysis of memory usage and compiling and interpreting time.
+
 2015-05-29  Brady Eidson  <beidson@apple.com>
 
         WebSQL default functions can bypass authorizer.
index 96113c8..202cc7c 100644 (file)
@@ -238,8 +238,9 @@ std::error_code compileRuleList(ContentExtensionCompilationClient& client, Strin
     double totalNFAToByteCodeBuildTimeStart = monotonicallyIncreasingTime();
 #endif
 
-    // FIXME: This can be tuned. More NFAs take longer to interpret, fewer use more memory and time to compile.
-    const unsigned maxNFASize = 50000;
+    // Smaller maxNFASizes risk high compiling and interpreting times from having too many DFAs,
+    // larger maxNFASizes use too much memory when compiling.
+    const unsigned maxNFASize = 30000;
     
     bool firstNFAWithoutDomainsSeen = false;
     // FIXME: Combine small NFAs to reduce the number of NFAs.