Benchmark TwelveLongAttributesLessThan - kompletní výsledky Zdrojový kód: https://github.com/ngmon/ngmon-pub-sub-benchmark/ Popis v textu diplomové práce (Publish-subscribe založený na obsahu pro účely monitorování) a ve zdrojovém kódu "Testovací prostředí: Hardware: Intel Core i5-760 (2.8 GHz), 4 GB RAM; Software: Ubuntu 13.04 64bit, Oracle JDK 1.7.0_21 64bit; Parametry: -Xss2m, -Xms8m, -Xmx256m" Všechny hodnoty jsou v milisekundách Match_25_random - Matching Tree Match_25_random - Counting (multicore) Match_25_random - Counting (singlecore) Match_25_random - Siena Match_50_random - Matching Tree Match_50_random - Counting (multicore) Match_50_random - Counting (singlecore) Match_50_random - Siena Match_75_random - Matching Tree Match_75_random - Counting (multicore) Match_75_random - Counting (singlecore) Match_75_random - Siena "1000 Predicates, 1000 Events" 237 344 220 293 458 729 460 552 715 1104 704 964 "1000 Predicates, 100 Events" 22.8 34.1 21.8 28.9 46 72.8 45.4 55.6 68.9 111.2 69 96 "2000 Predicates, 100 Events" 45.8 75.3 47.1 57.9 93.3 152.3 97.3 120.7 152.4 227.4 154.8 185.2 "4000 Predicates, 100 Events" 96.1 164 93.7 121.1 225.2 361 245.2 283.7 342.2 750 569 468.2 Match2_25_random - Matching Tree Match2_25_random - Counting (multicore) Match2_25_random - Counting (singlecore) Match2_25_random - Siena Match2_50_random - Matching Tree Match2_50_random - Counting (multicore) Match2_50_random - Counting (singlecore) Match2_50_random - Siena Match2_75_random - Matching Tree Match2_75_random - Counting (multicore) Match2_75_random - Counting (singlecore) Match2_75_random - Siena "1000 Predicates, 1000 Events" 644 1245 804 1054 771 1317 854 1103 866 1372 898 1114 "1000 Predicates, 100 Events" 63.7 127.1 78.5 106.3 72.6 130.4 82.9 108.1 82.2 138.3 88.3 112 "2000 Predicates, 100 Events" 151.3 283.6 183.5 256.7 172.4 306.4 204.3 261.3 193.5 332.1 209.9 267.8 "4000 Predicates, 100 Events" 338.9 941 731.8 645.6 389.9 995 781.2 675.9 420.8 1058 834.4 693 Match_25 - Matching Tree Match_25 - Counting (multicore) Match_25 - Counting (singlecore) Match_25 - Siena Match_50 - Matching Tree Match_50 - Counting (multicore) Match_50 - Counting (singlecore) Match_50 - Siena Match_75 - Matching Tree Match_75 - Counting (multicore) Match_75 - Counting (singlecore) Match_75 - Siena "1000 Predicates, 1000 Events" 319 300 201 245 528 705 419 450 741 1053 654 780 "1000 Predicates, 100 Events" 32.2 31.1 20.2 24.6 52.9 69.6 42 44.8 74 110.2 65.4 77.9 "2000 Predicates, 100 Events" 64.3 69 41.7 44.8 115.6 146.7 88.5 92.6 170.5 224.9 142.4 139.3 "4000 Predicates, 100 Events" 141.4 143 87.8 89.1 295.5 348 239.6 213.7 424.7 717 537.7 353.5 Match2_25 - Matching Tree Match2_25 - Counting (multicore) Match2_25 - Counting (singlecore) Match2_25 - Siena Match2_50 - Matching Tree Match2_50 - Counting (multicore) Match2_50 - Counting (singlecore) Match2_50 - Siena Match2_75 - Matching Tree Match2_75 - Counting (multicore) Match2_75 - Counting (singlecore) Match2_75 - Siena "1000 Predicates, 1000 Events" 666 1181 732 833 786 1267 792 846 850 1417 819 860 "1000 Predicates, 100 Events" 67.4 117.1 74.7 81.5 79.5 125.9 76.8 84.3 87.2 133.1 82.4 87.6 "2000 Predicates, 100 Events" 160.8 269.3 171.1 205.5 184 298.8 183.6 203.3 212.4 314.7 204.2 206.9 "4000 Predicates, 100 Events" 385 896 689.9 464.6 436.5 936 728.1 489 496 1010 779.8 488.1 Match_100 - Matching Tree Match_100 - Counting (multicore) Match_100 - Counting (singlecore) Match_100 - Siena "1000 Predicates, 1000 Events" 953 1394 866 886 "1000 Predicates, 100 Events" 100.6 139.5 86.8 88.3 "2000 Predicates, 100 Events" 235.3 336.2 224.7 208.8 "4000 Predicates, 100 Events" 520 1058 813.5 495.1 ##### Sheet/List 2 ##### Matching Tree Counting (multicore) Counting (singlecore) Siena 237 344 220 293 22.8 34.1 21.8 28.9 45.8 75.3 47.1 57.9 96.1 164 93.7 121.1 458 729 460 552 46 72.8 45.4 55.6 93.3 152.3 97.3 120.7 225.2 361 245.2 283.7 715 1104 704 964 68.9 111.2 69 96 152.4 227.4 154.8 185.2 342.2 750 569 468.2 644 1245 804 1054 63.7 127.1 78.5 106.3 151.3 283.6 183.5 256.7 338.9 941 731.8 645.6 771 1317 854 1103 72.6 130.4 82.9 108.1 172.4 306.4 204.3 261.3 389.9 995 781.2 675.9 866 1372 898 1114 82.2 138.3 88.3 112 193.5 332.1 209.9 267.8 420.8 1058 834.4 693 319 300 201 245 32.2 31.1 20.2 24.6 64.3 69 41.7 44.8 141.4 143 87.8 89.1 528 705 419 450 52.9 69.6 42 44.8 115.6 146.7 88.5 92.6 295.5 348 239.6 213.7 741 1053 654 780 74 110.2 65.4 77.9 170.5 224.9 142.4 139.3 424.7 717 537.7 353.5 953 1394 866 886 100.6 139.5 86.8 88.3 235.3 336.2 224.7 208.8 520 1058 813.5 495.1 666 1181 732 833 67.4 117.1 74.7 81.5 160.8 269.3 171.1 205.5 385 896 689.9 464.6 786 1267 792 846 79.5 125.9 76.8 84.3 184 298.8 183.6 203.3 436.5 936 728.1 489 850 1417 819 860 87.2 133.1 82.4 87.6 212.4 314.7 204.2 206.9 496 1010 779.8 488.1 ##### Sheet/List 3 ##### Match_25_random - minimum Match_25_random - Matching Tree Match_25_random - Counting (multicore) Match_25_random - Counting (singlecore) Match_25_random - Siena Match_50_random - minimum Match_50_random - Matching Tree Match_50_random - Counting (multicore) Match_50_random - Counting (singlecore) Match_50_random - Siena Match_75_random - minimum Match_75_random - Matching Tree Match_75_random - Counting (multicore) Match_75_random - Counting (singlecore) Match_75_random - Siena "1000 Predicates, 1000 Events" 220 1.077272727 1.563636364 1.000000000 1.331818182 458 1 1.591703057 1.004366812 1.205240175 704 1.015625 1.568181818 1 1.369318182 "1000 Predicates, 100 Events" 21.8 1.045871560 1.564220183 1.000000000 1.325688073 45.4 1.013215859 1.603524229 1 1.224669604 68.9 1 1.613933237 1.001451379 1.393323657 "2000 Predicates, 100 Events" 45.8 1.000000000 1.644104803 1.028384279 1.264192140 93.3 1 1.632368703 1.042872454 1.293676313 152.4 1 1.492125984 1.015748031 1.215223097 "4000 Predicates, 100 Events" 93.7 1.025613661 1.750266809 1.000000000 1.292422625 225.2 1 1.603019538 1.088809947 1.259769094 342.2 1 2.19170076 1.66277031 1.368205728 average 1.037189487 1.630557040 1.007096070 1.303530255 1.003303965 1.607653882 1.034012303 1.245838796 1.00390625 1.71648545 1.16999243 1.336517666 fastest 1 0 3 0 3 0 1 0 3 0 1 0 Match2_25_random - minimum Match2_25_random - Matching Tree Match2_25_random - Counting (multicore) Match2_25_random - Counting (singlecore) Match2_25_random - Siena Match2_50_random - minimum Match2_50_random - Matching Tree Match2_50_random - Counting (multicore) Match2_50_random - Counting (singlecore) Match2_50_random - Siena Match2_75_random - minimum Match2_75_random - Matching Tree Match2_75_random - Counting (multicore) Match2_75_random - Counting (singlecore) Match2_75_random - Siena "1000 Predicates, 1000 Events" 644 1 1.933229814 1.248447205 1.636645963 771 1 1.708171206 1.107652399 1.430609598 866 1 1.584295612 1.036951501 1.286374134 "1000 Predicates, 100 Events" 63.7 1 1.995290424 1.232339089 1.668759812 72.6 1 1.796143251 1.141873278 1.488980716 82.2 1 1.682481752 1.074209246 1.362530414 "2000 Predicates, 100 Events" 151.3 1 1.874421679 1.212822208 1.696629213 172.4 1 1.777262181 1.185034803 1.515661253 193.5 1 1.71627907 1.084754522 1.383979328 "4000 Predicates, 100 Events" 338.9 1 2.776630274 2.159339038 1.904986722 389.9 1 2.551936394 2.003590664 1.733521416 420.8 1 2.514258555 1.982889734 1.646863118 average 1 2.144893048 1.463236885 1.726755427 1 1.958378258 1.359537786 1.542193246 1 1.874328747 1.294701251 1.419936748 fastest 4 0 0 0 4 0 0 0 4 0 0 0 Match_25 - minimum Match_25 - Matching Tree Match_25 - Counting (multicore) Match_25 - Counting (singlecore) Match_25 - Siena Match_50 - minimum Match_50 - Matching Tree Match_50 - Counting (multicore) Match_50 - Counting (singlecore) Match_50 - Siena Match_75 - minimum Match_75 - Matching Tree Match_75 - Counting (multicore) Match_75 - Counting (singlecore) Match_75 - Siena "1000 Predicates, 1000 Events" 201 1.587064677 1.492537313 1 1.218905473 419 1.260143198 1.682577566 1 1.07398568 654 1.133027523 1.610091743 1 1.19266055 "1000 Predicates, 100 Events" 20.2 1.594059406 1.53960396 1 1.217821782 42 1.25952381 1.657142857 1 1.066666667 65.4 1.131498471 1.685015291 1 1.191131498 "2000 Predicates, 100 Events" 41.7 1.541966427 1.654676259 1 1.074340528 88.5 1.306214689 1.657627119 1 1.046327684 139.3 1.223977028 1.614501077 1.022254128 1 "4000 Predicates, 100 Events" 87.8 1.61047836 1.628701595 1 1.014806378 213.7 1.382779598 1.6284511 1.121197941 1 353.5 1.201414427 2.028288543 1.521074965 1 average 1.583392217 1.578879782 1 1.13146854 1.302165324 1.65644966 1.030299485 1.046745008 1.172479362 1.734474163 1.135832273 1.095948012 fastest 0 0 4 0 0 0 3 1 0 0 2 2 Match2_25 - minimum Match2_25 - Matching Tree Match2_25 - Counting (multicore) Match2_25 - Counting (singlecore) Match2_25 - Siena Match2_50 - minimum Match2_50 - Matching Tree Match2_50 - Counting (multicore) Match2_50 - Counting (singlecore) Match2_50 - Siena Match2_75 - minimum Match2_75 - Matching Tree Match2_75 - Counting (multicore) Match2_75 - Counting (singlecore) Match2_75 - Siena "1000 Predicates, 1000 Events" 666 1 1.773273273 1.099099099 1.250750751 786 1 1.611959288 1.007633588 1.076335878 819 1.037851038 1.73015873 1 1.05006105 "1000 Predicates, 100 Events" 67.4 1 1.737388724 1.108308605 1.209198813 76.8 1.03515625 1.639322917 1 1.09765625 82.4 1.058252427 1.615291262 1 1.063106796 "2000 Predicates, 100 Events" 160.8 1 1.674751244 1.064054726 1.277985075 183.6 1.002178649 1.62745098 1 1.107298475 204.2 1.040156709 1.541136141 1 1.013222331 "4000 Predicates, 100 Events" 385 1 2.327272727 1.791948052 1.206753247 436.5 1 2.144329897 1.668041237 1.120274914 488.1 1.016185208 2.069248105 1.597623438 1 average 1 1.878171492 1.265852621 1.236171971 1.009333725 1.75576577 1.168918706 1.100391379 1.038111346 1.73895856 1.149405859 1.031597544 fastest 4 0 0 0 2 0 2 0 0 0 3 1 Match_100 - minimum Match_100 - Matching Tree Match_100 - Counting (multicore) Match_100 - Counting (singlecore) Match_100 - Siena "1000 Predicates, 1000 Events" 866 1.100461894 1.609699769 1 1.023094688 "1000 Predicates, 100 Events" 86.8 1.158986175 1.607142857 1 1.017281106 "2000 Predicates, 100 Events" 208.8 1.126915709 1.610153257 1.076149425 1 "4000 Predicates, 100 Events" 495.1 1.05029287 2.136942032 1.643102404 1 average 1.109164162 1.740984479 1.179812957 1.010093949 fastest 0 0 2 2 Matching Tree Counting (multicore) Counting (singlecore) Siena Match_25_random 1.037189487 1.630557040 1.007096070 1.303530255 Match_50_random 1.003303965 1.607653882 1.034012303 1.245838796 Match_75_random 1.00390625 1.71648545 1.16999243 1.336517666 Match2_25_random 1 2.144893048 1.463236885 1.726755427 Match2_50_random 1 1.958378258 1.359537786 1.542193246 Match2_75_random 1 1.874328747 1.294701251 1.419936748 Match_25 1.583392217 1.578879782 1 1.13146854 Match_50 1.302165324 1.65644966 1.030299485 1.046745008 Match_75 1.172479362 1.734474163 1.135832273 1.095948012 Match2_25 1 1.878171492 1.265852621 1.236171971 Match2_50 1.009333725 1.75576577 1.168918706 1.100391379 Match2_75 1.038111346 1.73895856 1.149405859 1.031597544 Match_100 1.109164162 1.740984479 1.179812957 1.010093949 average 1.09684968 1.770460025 1.173746048 1.248245272 fastest 25 0 21 6 ##### Sheet/List 4 ##### Counting (multicore) "1000 Predicates, 1000 Events" "1000 Predicates, 100 Events" "2000 Predicates, 100 Events" "4000 Predicates, 100 Events" Match_25_random 344 34.1 75.3 164 Match_50_random 729 72.8 152.3 361 Match_75_random 1104 111.2 227.4 750 Match2_25_random 1245 127.1 283.6 941 Match2_50_random 1317 130.4 306.4 995 Match2_75_random 1372 138.3 332.1 1058 Match_25 300 31.1 69 143 Match_50 705 69.6 146.7 348 Match_75 1053 110.2 224.9 717 Match2_25 1181 117.1 269.3 896 Match2_50 1267 125.9 298.8 936 Match2_75 1417 133.1 314.7 1010 Match_100 1394 139.5 336.2 1058 ##### Sheet/List 5 ##### Závislost na počtu predikátů Závislost na poměru splněných predikátů vůči všem predikátům "4000 Predicates, 100 Events, random" "4000 Predicates, 100 Events, non-random" 25 % 50 % 75 % 25 % 50 % 75 % Matching Tree 96.1 225.2 342.2 141.4 295.5 424.7 Counting (multicore) 164 361 750 143 348 717 Counting (singlecore) 93.7 245.2 569 87.8 239.6 537.7 Siena 121.1 283.7 468.2 89.1 213.7 353.5 "2000 Predicates, 100 Events, random" "2000 Predicates, 100 Events, non-random" 25 % 50 % 75 % 25 % 50 % 75 % Matching Tree 45.8 93.3 152.4 64.3 115.6 170.5 Counting (multicore) 75.3 152.3 227.4 69 146.7 224.9 Counting (singlecore) 47.1 97.3 154.8 41.7 88.5 142.4 Siena 57.9 120.7 185.2 44.8 92.6 139.3 "match2, 4000 Predicates, 100 Events, random" "match2, 4000 Predicates, 100 Events, non-random" 25 % 50 % 75 % 25 % 50 % 75 % Matching Tree 338.9 389.9 420.8 385 436.5 496 Counting (multicore) 941 995 1058 896 936 1010 Counting (singlecore) 731.8 781.2 834.4 689.9 728.1 779.8 Siena 645.6 675.9 693 464.6 489 488.1 "match2, 2000 Predicates, 100 Events, random" "match2, 2000 Predicates, 100 Events, non-random" 25 % 50 % 75 % 25 % 50 % 75 % Matching Tree 151.3 172.4 193.5 160.8 184 212.4 Counting (multicore) 283.6 306.4 332.1 269.3 298.8 314.7 Counting (singlecore) 183.5 204.3 209.9 171.1 183.6 204.2 Siena 256.7 261.3 267.8 205.5 203.3 206.9