diff --git a/performance/Jamfile.v2 b/performance/Jamfile.v2 index 48154c91..63dfee34 100644 --- a/performance/Jamfile.v2 +++ b/performance/Jamfile.v2 @@ -18,10 +18,10 @@ using auto-index ; path-constant images_location : html ; path-constant here : . ; -lib pcre2 ; +lib pcre2-8 ; lib re2 ; -exe has_pcre2 : config/pcre.cpp pcre2 : third_party third_party third_party release ; +exe has_pcre2 : config/pcre.cpp pcre2-8 : third_party third_party third_party release ; explicit has_pcre2 ; exe has_posix : config/posix.cpp : release ; explicit has_posix ; @@ -31,7 +31,7 @@ explicit has_re2 ; run [ glob *.cpp ] /boost/regex//boost_regex /boost/system /boost/chrono /boost/filesystem : : : release - [ check-target-builds has_pcre2 : TEST_PCRE2 pcre2 ] + [ check-target-builds has_pcre2 : TEST_PCRE2 pcre2-8 ] [ check-target-builds has_posix : TEST_POSIX ] [ check-target-builds has_re2 : TEST_RE2 re2 third_party third_party third_party ] third_party diff --git a/performance/doc/performance_tables.qbk b/performance/doc/performance_tables.qbk index 81a1a1d3..af7e0d56 100644 --- a/performance/doc/performance_tables.qbk +++ b/performance/doc/performance_tables.qbk @@ -1,6 +1,74 @@ [/tables:] +[template table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_[] +[table:table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing Perl searches (platform = linux, compiler = GNU C++ version 6.3.0) +[[Expression[br]Text][boost 1.65][std::regex][boost::xpressive::cregex][PCRE-10.21]] +[[[^(?i)\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 1.63[br](28838ns)]][[role grey -]][[role blue 1.67[br](29436ns)]][[role green 1.00[br](17678ns)]]] +[[[^(?i)\u005D+face\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>.\*?<\/font>][br]In file: ../../../libs/libraries.htm][[role blue 2.78[br](19366ns)]][[role grey -]][[role blue 1.50[br](10471ns)]][[role green 1.00[br](6963ns)]]] +[[[^(?i)\u005D\*>.\*?<\/h\u005B12345678\u005D>][br]In file: ../../../libs/libraries.htm][[role blue 1.95[br](17081ns)]][[role grey -]][[role blue 2.18[br](19086ns)]][[role green 1.00[br](8745ns)]]] +[[[^(?i)\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role blue 2.61[br](18132ns)]][[role grey -]][[role blue 1.61[br](11211ns)]][[role green 1.00[br](6952ns)]]] +[[[^(?i)

.\*?<\/p>][br]In file: ../../../libs/libraries.htm][[role blue 1.69[br](17517ns)]][[role grey -]][[role blue 1.51[br](15645ns)]][[role green 1.00[br](10345ns)]]] +[[[^(\\w+)\\s\*(\\(\u005B\^()\u005D++(?:(?2)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))\\s\*(\\{\u005B\^{}\u005D++((?3)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\})][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1500580ns)]][[role grey -]][[role grey -]][[role blue 2.84[br](4260530ns)]]] +[[[^(\^\u005B \\t\u005D\*\#(?:(?>\u005B\^\\\\\\n\u005D+)|\\\\(?>\\s\*\\n|.))\*)|][br]In file: boost/multiprecision/number.hpp][[role blue 1.64[br](14163004ns)]][[role grey -]][[role green 1.00[br](8632111ns)]][[role green 1.03[br](8907897ns)]]] +[[[^(template\u005B\u005B:space:\u005D\u005D\*<\u005B\^;:{\u005D+>\u005B\u005B:space:\u005D\u005D\*)?(class|struct)\u005B\u005B:space:\u005D\u005D\*(\\w+(\u005B \u005D\*\\(\u005B\^)\u005D\*\\))?\u005B\u0 ...][br]In file: boost/multiprecision/number.hpp][[role blue 1.72[br](13046296ns)]][[role blue 3.61[br](27370747ns)]][[role green 1.00[br](7585304ns)]][[role blue 1.98[br](14992880ns)]]] +[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](5021ns)]][[role red 36.75[br](184532ns)]][[role blue 1.40[br](7046ns)]][[role green 1.19[br](5966ns)]]] +[[[^\\w+\\s\*(\\(\u005B\^()\u005D++(?:(?1)\u005B\^()\u005D++)\*+\u005B\^)\u005D\*\\))][br]In file: boost/multiprecision/number.hpp][[role green 1.00[br](1551419ns)]][[role grey -]][[role grey -]][[role blue 1.58[br](2444759ns)]]] +[[[^\\{\u005B\^{}\u005D++((?0)\u005B\^{}\u005D++)\*+\u005B\^}\u005D\*+\\}][br]In file: boost/multiprecision/number.hpp][[role blue 1.31[br](200846ns)]][[role grey -]][[role grey -]][[role green 1.00[br](153117ns)]]] +[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("\u005B\^"\u005D+"|<\u005B\^>\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.46[br](234901ns)]][[role red 11.35[br](1821532ns)]][[role green 1.00[br](160446ns)]][[role blue 1.35[br](215802ns)]]] +[[[^\^\u005B \u005D\*\#\u005B \u005D\*include\u005B \u005D+("boost\/\u005B\^"\u005D+"|\u005D+>)][br]In file: boost/multiprecision/number.hpp][[role blue 1.41[br](234377ns)]][[role red 11.47[br](1903901ns)]][[role green 1.00[br](165921ns)]][[role blue 1.31[br](217806ns)]]] +] +] + +[template table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_[] +[table:table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing leftmost-longest searches (platform = linux, compiler = GNU C++ version 6.3.0) +[[Expression[br]Text][boost 1.65][std::regex][POSIX]] +[[[^\u005D+href\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](107026ns)]][[role blue 1.44[br](154551ns)]][[role blue 1.64[br](175184ns)]]] +[[[^\u005D+src\=("\u005B\^"\u005D\*"|\u005B\^\u005B:space:\u005D\u005D+)\u005B\^>\u005D\*>][br]In file: ../../../libs/libraries.htm][[role green 1.00[br](15420ns)]][[role red 6.89[br](106275ns)]][[role blue 1.59[br](24567ns)]]] +[[[^Beman|John|Dave][br]In file: ../../../libs/libraries.htm][[role green 1.03[br](5399ns)]][[role red 36.27[br](190577ns)]][[role green 1.00[br](5254ns)]]] +] +] + +[template table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_[] +[table:table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing simple Perl matches (platform = linux, compiler = GNU C++ version 6.3.0) +[[Expression[br]Text][boost 1.65][std::regex][boost::xpressive::cregex][PCRE-10.21]] +[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role blue 2.65[br](506ns)]][[role blue 2.86[br](546ns)]][[role green 1.00[br](191ns)]][[role blue 1.37[br](262ns)]]] +[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role blue 2.52[br](353ns)]][[role red 20.99[br](2939ns)]][[role green 1.00[br](140ns)]][[role blue 3.50[br](490ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role blue 1.98[br](681ns)]][[role grey -]][[role green 1.00[br](344ns)]][[role blue 1.32[br](454ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role blue 2.06[br](695ns)]][[role grey -]][[role green 1.00[br](337ns)]][[role blue 1.34[br](451ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role blue 1.93[br](821ns)]][[role grey -]][[role green 1.00[br](425ns)]][[role blue 1.24[br](526ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role blue 2.34[br](243ns)]][[role red 4.45[br](463ns)]][[role green 1.00[br](104ns)]][[role blue 1.62[br](168ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role blue 2.33[br](245ns)]][[role red 4.39[br](461ns)]][[role green 1.00[br](105ns)]][[role blue 1.60[br](168ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 2.08[br](208ns)]][[role blue 3.31[br](331ns)]][[role green 1.00[br](100ns)]][[role blue 1.52[br](152ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role blue 2.28[br](237ns)]][[role blue 3.39[br](353ns)]][[role green 1.00[br](104ns)]][[role green 1.18[br](123ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role blue 2.12[br](216ns)]][[role blue 3.02[br](308ns)]][[role green 1.00[br](102ns)]][[role green 1.19[br](121ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 2.12[br](257ns)]][[role blue 2.66[br](322ns)]][[role green 1.00[br](121ns)]][[role green 1.17[br](142ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role blue 2.00[br](230ns)]][[role blue 2.65[br](305ns)]][[role green 1.00[br](115ns)]][[role blue 1.22[br](140ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 2.05[br](244ns)]][[role blue 2.81[br](334ns)]][[role green 1.00[br](119ns)]][[role blue 1.22[br](145ns)]]] +[[[^abc][br][^abc]][[role blue 1.65[br](135ns)]][[role blue 1.83[br](150ns)]][[role green 1.00[br](82ns)]][[role green 1.02[br](84ns)]]] +] +] + +[template table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_[] +[table:table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_ Testing simple leftmost-longest matches (platform = linux, compiler = GNU C++ version 6.3.0) +[[Expression[br]Text][boost 1.65][std::regex][POSIX]] +[[[^(\u005B\u005B:digit:\u005D\u005D{4}\u005B- \u005D){3}\u005B\u005B:digit:\u005D\u005D{3,4}][br][^1234-5678-1234-456]][[role green 1.11[br](669ns)]][[role green 1.00[br](603ns)]][[role blue 3.70[br](2234ns)]]] +[[[^\^(\u005B0-9\u005D+)(\\-| |\$)(.\*)\$][br][^100- this is a line of ftp response which contains a message string]][[role green 1.00[br](781ns)]][[role red 4.52[br](3530ns)]][[role red 12.72[br](9933ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^bob.smith\@foo.tv]][[role green 1.00[br](937ns)]][[role blue 1.26[br](1184ns)]][[role blue 3.06[br](2864ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^foo12\@foo.edu]][[role green 1.00[br](892ns)]][[role blue 1.29[br](1150ns)]][[role blue 2.95[br](2628ns)]]] +[[[^\^(\u005Ba-zA-Z0-9\_\\-\\.\u005D+)\@((\\\u005B\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.\u005B0-9\u005D{1,3}\\.)|((\u005Ba-zA-Z0-9\\-\u005D+\\.)+))(\u005Ba-zA-Z\u005D{2,4}|\u005B0-9\u005D{1,3})(\\ ...][br][^john\@johnmaddock.co.uk]][[role green 1.00[br](1160ns)]][[role blue 1.31[br](1517ns)]][[role blue 3.29[br](3818ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^+3.14159]][[role blue 1.58[br](485ns)]][[role blue 1.48[br](455ns)]][[role green 1.00[br](307ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^-3.14159]][[role blue 1.50[br](466ns)]][[role blue 1.50[br](464ns)]][[role green 1.00[br](310ns)]]] +[[[^\^\u005B-+\u005D?\u005B\u005B:digit:\u005D\u005D\*\\.?\u005B\u005B:digit:\u005D\u005D\*\$][br][^123]][[role blue 3.10[br](666ns)]][[role blue 1.57[br](338ns)]][[role green 1.00[br](215ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^12\/12\/2001]][[role blue 2.18[br](373ns)]][[role blue 2.10[br](359ns)]][[role green 1.00[br](171ns)]]] +[[[^\^\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{1,2}\/\u005B\u005B:digit:\u005D\u005D{4}\$][br][^4\/1\/2001]][[role blue 2.27[br](363ns)]][[role blue 1.93[br](309ns)]][[role green 1.00[br](160ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^EH10 2QQ]][[role blue 2.90[br](473ns)]][[role blue 2.19[br](357ns)]][[role green 1.00[br](163ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^G1 1AA]][[role blue 2.56[br](386ns)]][[role blue 1.83[br](277ns)]][[role green 1.00[br](151ns)]]] +[[[^\^\u005Ba-zA-Z\u005D{1,2}\u005B0-9\u005D\u005B0-9A-Za-z\u005D{0,1} {0,1}\u005B0-9\u005D\u005BA-Za-z\u005D{2}\$][br][^SW1 1ZZ]][[role blue 2.46[br](381ns)]][[role blue 2.14[br](331ns)]][[role green 1.00[br](155ns)]]] +[[[^abc][br][^abc]][[role blue 2.35[br](324ns)]][[role green 1.11[br](153ns)]][[role green 1.00[br](138ns)]]] +] +] + [template table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_[] [table:table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_ Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1) [[Expression[br]Text][boost 1.65][PCRE-10.10][RE2][std::regex][boost::xpressive::cregex]] @@ -72,6 +140,30 @@ [/sections:] +[template section_id1675827111[] +[section:section_id1675827111 Testing Perl searches (platform = linux, compiler = GNU C++ version 6.3.0)] +[table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_] +[endsect] +] + +[template section_id4148872883[] +[section:section_id4148872883 Testing leftmost-longest searches (platform = linux, compiler = GNU C++ version 6.3.0)] +[table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_] +[endsect] +] + +[template section_id3261825021[] +[section:section_id3261825021 Testing simple Perl matches (platform = linux, compiler = GNU C++ version 6.3.0)] +[table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_] +[endsect] +] + +[template section_id1378460593[] +[section:section_id1378460593 Testing simple leftmost-longest matches (platform = linux, compiler = GNU C++ version 6.3.0)] +[table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_] +[endsect] +] + [template section_id3752650613[] [section:section_id3752650613 Testing Perl searches (platform = Windows x64, compiler = Microsoft Visual C++ version 14.1)] [table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] @@ -98,15 +190,23 @@ ] [template performance_all_sections[] +[section_id1378460593] +[section_id1675827111] [section_id3141719723] [section_id3258595385] +[section_id3261825021] [section_id3752650613] [section_id4128344975] +[section_id4148872883] ] [template performance_all_tables[] [table_Testing_Perl_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[table_Testing_Perl_searches_platform_linux_compiler_GNU_C_version_6_3_0_] [table_Testing_leftmost_longest_searches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[table_Testing_leftmost_longest_searches_platform_linux_compiler_GNU_C_version_6_3_0_] [table_Testing_simple_Perl_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[table_Testing_simple_Perl_matches_platform_linux_compiler_GNU_C_version_6_3_0_] [table_Testing_simple_leftmost_longest_matches_platform_Windows_x64_compiler_Microsoft_Visual_C_version_14_1_] +[table_Testing_simple_leftmost_longest_matches_platform_linux_compiler_GNU_C_version_6_3_0_] ]