From 74efbd089836564c60d4ea0bcbe8927fcb3ddfb3 Mon Sep 17 00:00:00 2001 From: David Hendriks <davidhendriks93@gmail.com> Date: Wed, 29 Jan 2020 10:34:01 +0000 Subject: [PATCH] added scaling data and plots of this --- tests/population/comparison_result_astro1.dat | 116 +++++++++++++++++- tests/population/comparison_result_laptop.dat | 115 ----------------- tests/population/name_testcase.pdf | Bin 0 -> 14911 bytes tests/population/name_testcase.png | Bin 0 -> 40888 bytes tests/population/plot_scaling.py | 29 +++-- 5 files changed, 136 insertions(+), 124 deletions(-) delete mode 100644 tests/population/comparison_result_laptop.dat create mode 100644 tests/population/name_testcase.pdf create mode 100644 tests/population/name_testcase.png diff --git a/tests/population/comparison_result_astro1.dat b/tests/population/comparison_result_astro1.dat index a13e8c03b..073379c0f 100644 --- a/tests/population/comparison_result_astro1.dat +++ b/tests/population/comparison_result_astro1.dat @@ -1 +1,115 @@ -(4, 100, 10.251955032348633, 2.747338056564331, 3.7315957560640207) +(4, 1000, 104.05427241325378, 27.00112748146057, 3.8537010161779057) +(4, 1000, 102.54885578155518, 27.171754837036133, 3.7740976391328687) +(4, 1000, 104.35686087608337, 26.782670736312866, 3.896432208106593) +(4, 1000, 103.11598515510559, 27.192280530929565, 3.7921050806245336) +(8, 1000, 102.20535063743591, 14.65907335281372, 6.972156300576681) +(8, 1000, 101.34700274467468, 14.694567203521729, 6.896902871721575) +(8, 1000, 102.19972801208496, 14.790043354034424, 6.910035729152001) +(8, 1000, 102.87878012657166, 14.792370796203613, 6.95485406253979) +(4, 2000, 207.57554006576538, 54.78886413574219, 3.788644706184937) +(4, 2000, 202.786696434021, 54.18405818939209, 3.7425527583262794) +(4, 2000, 206.4160861968994, 54.77799367904663, 3.7682301291705858) +(4, 2000, 202.04300618171692, 54.89555263519287, 3.680498628447901) +(8, 2000, 207.90165948867798, 29.321029663085938, 7.09053064907943) +(8, 2000, 208.02890348434448, 28.802990436553955, 7.222475872516849) +(8, 2000, 204.79240155220032, 29.379513025283813, 6.970585297855595) +(8, 2000, 202.47611260414124, 29.069218397140503, 6.965309828352954) +(16, 2000, 211.9178500175476, 14.980526447296143, 14.146221814240512) +(16, 2000, 208.60417556762695, 15.031479835510254, 13.877820271216546) +(16, 2000, 208.11063432693481, 15.369598150253296, 13.540408297760543) +(16, 2000, 204.12664914131165, 15.360931396484375, 13.288689590009476) +(4, 5000, 527.643744468689, 135.23606204986572, 3.901649726196038) +(4, 5000, 517.9622015953064, 136.07963013648987, 3.8063169416009046) +(4, 5000, 515.7305867671967, 135.84297394752502, 3.7965201421931396) +(4, 1000, 102.62274122238159, 27.113038539886475, 3.784995955780148) +(4, 1000, 105.12208247184753, 27.120686769485474, 3.8760848265142176) +(4, 1000, 102.0183584690094, 27.36386466026306, 3.7282145535954663) +(4, 1000, 105.0119206905365, 28.213557958602905, 3.722037498589084) +(8, 1000, 103.68693804740906, 15.153008937835693, 6.842663293658605) +(8, 1000, 103.08171725273132, 14.493562936782837, 7.112241324120718) +(8, 1000, 104.6509165763855, 14.882857322692871, 7.03164145884926) +(8, 1000, 104.8209400177002, 14.74099612236023, 7.110845098093478) +(4, 2000, 203.6050124168396, 54.250617027282715, 3.7530451001957514) +(4, 2000, 207.69856119155884, 54.04366207122803, 3.8431622364490767) +(4, 2000, 203.5373842716217, 54.21375513076782, 3.75434949637179) +(4, 2000, 200.93188166618347, 55.098068714141846, 3.646804440799046) +(8, 2000, 208.2707359790802, 29.014343976974487, 7.178199036461479) +(8, 2000, 205.94265794754028, 29.46466588973999, 6.989478812289957) +(8, 2000, 208.62252259254456, 29.132497787475586, 7.161161535631658) +(8, 2000, 208.0031316280365, 28.984196424484253, 7.176432583527722) +(16, 2000, 207.22788381576538, 15.259207248687744, 13.58051440277715) +(16, 2000, 202.91206169128418, 15.149047613143921, 13.394377446885146) +(16, 2000, 204.83116912841797, 15.046677350997925, 13.613049868104813) +(16, 2000, 205.0353970527649, 15.29837441444397, 13.402430316987182) +(4, 5000, 512.5090374946594, 136.7362518310547, 3.7481577170031914) +(4, 5000, 505.957435131073, 135.62525081634521, 3.7305548346318433) +(4, 5000, 521.9210550785065, 135.70136737823486, 3.846100191634601) +(4, 5000, 519.6273250579834, 134.2490532398224, 3.870621896526314) +(8, 5000, 518.0830736160278, 72.1380262374878, 7.181830452505462) +(8, 5000, 525.8384339809418, 71.64022922515869, 7.339988155653154) +(8, 5000, 513.1743404865265, 71.90173530578613, 7.1371621046986045) +(8, 5000, 510.9314661026001, 72.34414649009705, 7.062512876180519) +(16, 5000, 516.7509648799896, 37.53547406196594, 13.767002490148501) +(16, 5000, 510.0037705898285, 37.37641382217407, 13.645069669237815) +(16, 5000, 523.5528612136841, 37.486063957214355, 13.966600009306234) +(16, 5000, 511.19897866249084, 37.40828561782837, 13.665394449909224) +(32, 5000, 521.0931882858276, 32.20561599731445, 16.18019628406674) +(32, 5000, 518.6581602096558, 31.749494791030884, 16.33595002450794) +(32, 5000, 520.9283559322357, 32.17886996269226, 16.188522360673105) +(32, 5000, 514.1640427112579, 31.93514323234558, 16.100257918695846) +(4, 1000, 104.42094922065735, 27.05269455909729, 3.8599093703049494) +(4, 1000, 101.89992642402649, 27.551891088485718, 3.6984730411703666) +(4, 1000, 104.2344958782196, 27.117160081863403, 3.8438573790009114) +(4, 1000, 103.41772150993347, 27.27121353149414, 3.7921936033576795) +(8, 1000, 102.33424353599548, 15.469272375106812, 6.615323659351424) +(8, 1000, 104.04336977005005, 14.536758422851562, 7.1572607003288615) +(8, 1000, 104.13553380966187, 14.583893775939941, 7.140447908463339) +(8, 1000, 102.71817421913147, 14.484654664993286, 7.091516960178704) +(4, 2000, 206.5037591457367, 53.54386067390442, 3.856721509182846) +(4, 2000, 208.7819540500641, 54.52429246902466, 3.8291547601222606) +(4, 2000, 202.39464044570923, 53.566444873809814, 3.77838478776227) +(4, 2000, 209.63950848579407, 55.48546886444092, 3.778277678394931) +(8, 2000, 207.04452681541443, 28.988551378250122, 7.142286074038121) +(8, 2000, 207.26304173469543, 28.957362174987793, 7.157524932078272) +(8, 2000, 203.83100771903992, 29.06782054901123, 7.012256298175524) +(8, 2000, 202.653653383255, 28.714593410491943, 7.0575142919909135) +(16, 2000, 210.743394613266, 14.946157217025757, 14.100172475985994) +(16, 2000, 207.11285138130188, 15.00833535194397, 13.799854982216624) +(16, 2000, 205.91337847709656, 15.33548092842102, 13.427252750546632) +(16, 2000, 201.6581528186798, 15.01097583770752, 13.434046860039254) +(32, 2000, 205.83645701408386, 13.055871725082397, 15.765814902932863) +(32, 2000, 209.74389004707336, 13.278757095336914, 15.795445954857392) +(32, 2000, 206.69286608695984, 13.06216049194336, 15.823788584931751) +(32, 2000, 207.6377956867218, 13.04278039932251, 15.919749419188816) +(4, 5000, 518.9882910251617, 134.86849451065063, 3.8481062082603508) +(4, 5000, 522.838042974472, 135.0669686794281, 3.8709541502733447) +(4, 5000, 512.6538271903992, 135.27970814704895, 3.7895840714938918) +(4, 5000, 512.533979177475, 134.128422498703, 3.8212182744670025) +(8, 5000, 511.6748743057251, 71.87646913528442, 7.1188092634692595) +(8, 5000, 518.7212734222412, 72.16897344589233, 7.187593901569698) +(8, 5000, 523.5697977542877, 72.60496044158936, 7.2112124925059256) +(8, 5000, 515.9446866512299, 71.47919058799744, 7.2181103676048854) +(16, 5000, 509.1269211769104, 37.47135615348816, 13.587096210007772) +(16, 5000, 526.8645267486572, 37.16785931587219, 14.175272303714962) +(16, 5000, 501.69326519966125, 36.7297477722168, 13.659044660773665) +(16, 5000, 507.670964717865, 37.03483533859253, 13.707930927097744) +(32, 5000, 513.9466030597687, 32.249024629592896, 15.93681077064738) +(32, 5000, 511.34901881217957, 32.15395474433899, 15.90314544129933) +(32, 5000, 514.7990386486053, 32.4391450881958, 15.869685753091387) +(32, 5000, 507.6543724536896, 31.767980575561523, 15.980064305510751) +(4, 10000, 1039.6945412158966, 270.35400342941284, 3.8456783625449518) +(4, 10000, 1033.4089324474335, 270.86656308174133, 3.8151956472219655) +(4, 10000, 1038.8110148906708, 268.79505014419556, 3.8646954783333953) +(4, 10000, 1041.112842798233, 273.25793194770813, 3.8100004467481114) +(8, 10000, 1022.0218458175659, 143.64133620262146, 7.115095646116066) +(8, 10000, 1031.4755203723907, 144.16310334205627, 7.15492033994999) +(8, 10000, 1034.291555404663, 143.88558387756348, 7.188291749121806) +(8, 10000, 1034.9911291599274, 144.10508680343628, 7.182197048822341) +(16, 10000, 1054.3339381217957, 73.39850378036499, 14.364515403157892) +(16, 10000, 1010.6264357566833, 75.25770449638367, 13.428876717934529) +(16, 10000, 1044.7247614860535, 74.02198815345764, 14.113708474300866) +(16, 10000, 1042.1659934520721, 73.94862246513367, 14.093108954713081) +(32, 10000, 1051.2897226810455, 63.89476823806763, 16.453455449811013) +(32, 10000, 1050.2103514671326, 63.592018842697144, 16.514813817516313) +(32, 10000, 1012.8798322677612, 65.41985893249512, 15.482757816902708) +(32, 10000, 1025.2572581768036, 64.88021302223206, 15.80231029490433) diff --git a/tests/population/comparison_result_laptop.dat b/tests/population/comparison_result_laptop.dat deleted file mode 100644 index 073379c0f..000000000 --- a/tests/population/comparison_result_laptop.dat +++ /dev/null @@ -1,115 +0,0 @@ -(4, 1000, 104.05427241325378, 27.00112748146057, 3.8537010161779057) -(4, 1000, 102.54885578155518, 27.171754837036133, 3.7740976391328687) -(4, 1000, 104.35686087608337, 26.782670736312866, 3.896432208106593) -(4, 1000, 103.11598515510559, 27.192280530929565, 3.7921050806245336) -(8, 1000, 102.20535063743591, 14.65907335281372, 6.972156300576681) -(8, 1000, 101.34700274467468, 14.694567203521729, 6.896902871721575) -(8, 1000, 102.19972801208496, 14.790043354034424, 6.910035729152001) -(8, 1000, 102.87878012657166, 14.792370796203613, 6.95485406253979) -(4, 2000, 207.57554006576538, 54.78886413574219, 3.788644706184937) -(4, 2000, 202.786696434021, 54.18405818939209, 3.7425527583262794) -(4, 2000, 206.4160861968994, 54.77799367904663, 3.7682301291705858) -(4, 2000, 202.04300618171692, 54.89555263519287, 3.680498628447901) -(8, 2000, 207.90165948867798, 29.321029663085938, 7.09053064907943) -(8, 2000, 208.02890348434448, 28.802990436553955, 7.222475872516849) -(8, 2000, 204.79240155220032, 29.379513025283813, 6.970585297855595) -(8, 2000, 202.47611260414124, 29.069218397140503, 6.965309828352954) -(16, 2000, 211.9178500175476, 14.980526447296143, 14.146221814240512) -(16, 2000, 208.60417556762695, 15.031479835510254, 13.877820271216546) -(16, 2000, 208.11063432693481, 15.369598150253296, 13.540408297760543) -(16, 2000, 204.12664914131165, 15.360931396484375, 13.288689590009476) -(4, 5000, 527.643744468689, 135.23606204986572, 3.901649726196038) -(4, 5000, 517.9622015953064, 136.07963013648987, 3.8063169416009046) -(4, 5000, 515.7305867671967, 135.84297394752502, 3.7965201421931396) -(4, 1000, 102.62274122238159, 27.113038539886475, 3.784995955780148) -(4, 1000, 105.12208247184753, 27.120686769485474, 3.8760848265142176) -(4, 1000, 102.0183584690094, 27.36386466026306, 3.7282145535954663) -(4, 1000, 105.0119206905365, 28.213557958602905, 3.722037498589084) -(8, 1000, 103.68693804740906, 15.153008937835693, 6.842663293658605) -(8, 1000, 103.08171725273132, 14.493562936782837, 7.112241324120718) -(8, 1000, 104.6509165763855, 14.882857322692871, 7.03164145884926) -(8, 1000, 104.8209400177002, 14.74099612236023, 7.110845098093478) -(4, 2000, 203.6050124168396, 54.250617027282715, 3.7530451001957514) -(4, 2000, 207.69856119155884, 54.04366207122803, 3.8431622364490767) -(4, 2000, 203.5373842716217, 54.21375513076782, 3.75434949637179) -(4, 2000, 200.93188166618347, 55.098068714141846, 3.646804440799046) -(8, 2000, 208.2707359790802, 29.014343976974487, 7.178199036461479) -(8, 2000, 205.94265794754028, 29.46466588973999, 6.989478812289957) -(8, 2000, 208.62252259254456, 29.132497787475586, 7.161161535631658) -(8, 2000, 208.0031316280365, 28.984196424484253, 7.176432583527722) -(16, 2000, 207.22788381576538, 15.259207248687744, 13.58051440277715) -(16, 2000, 202.91206169128418, 15.149047613143921, 13.394377446885146) -(16, 2000, 204.83116912841797, 15.046677350997925, 13.613049868104813) -(16, 2000, 205.0353970527649, 15.29837441444397, 13.402430316987182) -(4, 5000, 512.5090374946594, 136.7362518310547, 3.7481577170031914) -(4, 5000, 505.957435131073, 135.62525081634521, 3.7305548346318433) -(4, 5000, 521.9210550785065, 135.70136737823486, 3.846100191634601) -(4, 5000, 519.6273250579834, 134.2490532398224, 3.870621896526314) -(8, 5000, 518.0830736160278, 72.1380262374878, 7.181830452505462) -(8, 5000, 525.8384339809418, 71.64022922515869, 7.339988155653154) -(8, 5000, 513.1743404865265, 71.90173530578613, 7.1371621046986045) -(8, 5000, 510.9314661026001, 72.34414649009705, 7.062512876180519) -(16, 5000, 516.7509648799896, 37.53547406196594, 13.767002490148501) -(16, 5000, 510.0037705898285, 37.37641382217407, 13.645069669237815) -(16, 5000, 523.5528612136841, 37.486063957214355, 13.966600009306234) -(16, 5000, 511.19897866249084, 37.40828561782837, 13.665394449909224) -(32, 5000, 521.0931882858276, 32.20561599731445, 16.18019628406674) -(32, 5000, 518.6581602096558, 31.749494791030884, 16.33595002450794) -(32, 5000, 520.9283559322357, 32.17886996269226, 16.188522360673105) -(32, 5000, 514.1640427112579, 31.93514323234558, 16.100257918695846) -(4, 1000, 104.42094922065735, 27.05269455909729, 3.8599093703049494) -(4, 1000, 101.89992642402649, 27.551891088485718, 3.6984730411703666) -(4, 1000, 104.2344958782196, 27.117160081863403, 3.8438573790009114) -(4, 1000, 103.41772150993347, 27.27121353149414, 3.7921936033576795) -(8, 1000, 102.33424353599548, 15.469272375106812, 6.615323659351424) -(8, 1000, 104.04336977005005, 14.536758422851562, 7.1572607003288615) -(8, 1000, 104.13553380966187, 14.583893775939941, 7.140447908463339) -(8, 1000, 102.71817421913147, 14.484654664993286, 7.091516960178704) -(4, 2000, 206.5037591457367, 53.54386067390442, 3.856721509182846) -(4, 2000, 208.7819540500641, 54.52429246902466, 3.8291547601222606) -(4, 2000, 202.39464044570923, 53.566444873809814, 3.77838478776227) -(4, 2000, 209.63950848579407, 55.48546886444092, 3.778277678394931) -(8, 2000, 207.04452681541443, 28.988551378250122, 7.142286074038121) -(8, 2000, 207.26304173469543, 28.957362174987793, 7.157524932078272) -(8, 2000, 203.83100771903992, 29.06782054901123, 7.012256298175524) -(8, 2000, 202.653653383255, 28.714593410491943, 7.0575142919909135) -(16, 2000, 210.743394613266, 14.946157217025757, 14.100172475985994) -(16, 2000, 207.11285138130188, 15.00833535194397, 13.799854982216624) -(16, 2000, 205.91337847709656, 15.33548092842102, 13.427252750546632) -(16, 2000, 201.6581528186798, 15.01097583770752, 13.434046860039254) -(32, 2000, 205.83645701408386, 13.055871725082397, 15.765814902932863) -(32, 2000, 209.74389004707336, 13.278757095336914, 15.795445954857392) -(32, 2000, 206.69286608695984, 13.06216049194336, 15.823788584931751) -(32, 2000, 207.6377956867218, 13.04278039932251, 15.919749419188816) -(4, 5000, 518.9882910251617, 134.86849451065063, 3.8481062082603508) -(4, 5000, 522.838042974472, 135.0669686794281, 3.8709541502733447) -(4, 5000, 512.6538271903992, 135.27970814704895, 3.7895840714938918) -(4, 5000, 512.533979177475, 134.128422498703, 3.8212182744670025) -(8, 5000, 511.6748743057251, 71.87646913528442, 7.1188092634692595) -(8, 5000, 518.7212734222412, 72.16897344589233, 7.187593901569698) -(8, 5000, 523.5697977542877, 72.60496044158936, 7.2112124925059256) -(8, 5000, 515.9446866512299, 71.47919058799744, 7.2181103676048854) -(16, 5000, 509.1269211769104, 37.47135615348816, 13.587096210007772) -(16, 5000, 526.8645267486572, 37.16785931587219, 14.175272303714962) -(16, 5000, 501.69326519966125, 36.7297477722168, 13.659044660773665) -(16, 5000, 507.670964717865, 37.03483533859253, 13.707930927097744) -(32, 5000, 513.9466030597687, 32.249024629592896, 15.93681077064738) -(32, 5000, 511.34901881217957, 32.15395474433899, 15.90314544129933) -(32, 5000, 514.7990386486053, 32.4391450881958, 15.869685753091387) -(32, 5000, 507.6543724536896, 31.767980575561523, 15.980064305510751) -(4, 10000, 1039.6945412158966, 270.35400342941284, 3.8456783625449518) -(4, 10000, 1033.4089324474335, 270.86656308174133, 3.8151956472219655) -(4, 10000, 1038.8110148906708, 268.79505014419556, 3.8646954783333953) -(4, 10000, 1041.112842798233, 273.25793194770813, 3.8100004467481114) -(8, 10000, 1022.0218458175659, 143.64133620262146, 7.115095646116066) -(8, 10000, 1031.4755203723907, 144.16310334205627, 7.15492033994999) -(8, 10000, 1034.291555404663, 143.88558387756348, 7.188291749121806) -(8, 10000, 1034.9911291599274, 144.10508680343628, 7.182197048822341) -(16, 10000, 1054.3339381217957, 73.39850378036499, 14.364515403157892) -(16, 10000, 1010.6264357566833, 75.25770449638367, 13.428876717934529) -(16, 10000, 1044.7247614860535, 74.02198815345764, 14.113708474300866) -(16, 10000, 1042.1659934520721, 73.94862246513367, 14.093108954713081) -(32, 10000, 1051.2897226810455, 63.89476823806763, 16.453455449811013) -(32, 10000, 1050.2103514671326, 63.592018842697144, 16.514813817516313) -(32, 10000, 1012.8798322677612, 65.41985893249512, 15.482757816902708) -(32, 10000, 1025.2572581768036, 64.88021302223206, 15.80231029490433) diff --git a/tests/population/name_testcase.pdf b/tests/population/name_testcase.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e7f0d56f02432cf56e04889e6ed52c1e6e20b628 GIT binary patch literal 14911 zcmd6OcRbbKAHP|;$R?w@_6T>mmuqG3JxZZmTqB!nL{u_Th>VcEsgxPgL|Lg6B~nI| zQIw(~zw^HGDf0L}JbsVgAHVByobx{KGhXX`Ue9yhueY#?hL#jcS_US3c@Tc75r%>z z;a>JfV2X-xgbBf!=m$rG8Z$V;;;1(fj!-9%2<~3aaAjo}(bExXDEC(f%^;GtIf+0b z!ev%EX?b~);Fy)N34uf+`g+2#&?O9E;_KyLP9(vt!8{sTV0>Z_369Y90CTGS&eebC zx^P=K!rX=6=<4YV$E|d?GPXZLbRfZH$%FqP2ZaO`s|=`mdU}!kz!adrIv|DU39j%f z18Dnt`Fq15Hr37H2n}L@s{_$Y8%zzZEPM%`e%=IMqNl^rRnAx1gNYD^L`PSGnpY4Q z7n)24hm@9sV`Q+>IA|Uds2gcjYGy<~FMnSLAVx?||A`Tj>|Zj3NLr;?%her-369Wm z2XfRPI(Rt(u^SLQok=cm6r>$9sG}drmq_q{1!dkmVCXf7W4<}HfA$5Ro?p~!?X9lV z?C<zvPVRb{kDT@&vD+zn!zldM59KhO{HCfZ(*dar4ZcM6?u)~t1*t7R;#;iqT0(w) zlL+HFKJwa4bwv1A(+vB;z$_oVEs7pfNw|ITHP2?}E2caftNj@I3to422dDWboU!3C z)(ZYGFpzg8R%kmi`GYzp<cH8fQ65J7yWP6?Zr_MoG(5)aJdx?-I7h$lEZwy_{wO0| zE)LC-V@SG*>DKYincnd)of9KRmR(Ms8~->&y4q4Qbc0HH>yUZ!`-hhW1wG=cL$-V0 z4tRuU>3<}o6La=rH;=28tNk9U(Zo4#pI1w{*)eAqMoP{qeqQFrizANO_;^&D2_5P+ zn~ym9%x3Yc<FNGwi6ARK*9!XMeZBUJ`*a<WL->@kB!67alo`!%^Rrz1T#<Uuxu`IM ze%Z0#dBDAI(2DE($&0Pm43j-Y+?5aX)mBOA_l}o8p0JgQ+FdZ#Fl(IZ@8QvDUfUr3 z^T2-nVK+9%v~7oTB!6s4#3@={ymT)ouy#inLv?aV^t3TII^mhbj+rZ`d#qD-nJs_5 z@#E3%T`fy-^^LDRzK(nj^9z-rxX{~m+k{?6b=0{o=voC0<*qb=FZQb0mxHRj&dKna zSn)OQHr&JPvP5JS8A|n@jbIZx=n+di?4pq!t6k+KaK8J73geDA4_Y3!bKLP|w}lnY zkHeI;3JR($^|I>a=xCf%oD<sV+FY!ub*3sQ&~w-6PT!@{alKT_m`OQTQjuU+)Hn2= zGvP_ymV`bBO2-ke56>8ba$IFh%ds5_+annF&5y^p(bOQ?X^B7SbRDcI+glu>94Eb4 zSVa_r1=y3HMryr#rg#t6w&PT#lu&^OqtKNHRP8OV(L%cIVpS&<@#e&DWtW5wa?8;? z=c|tU>wcneMLCMKL5KEyl)gv-`@T<t1bY!~6leWn>G^<$&fTUxZ)A7NUUZxLR`9}B zd2s0L-mswhn*%><Z!TSH7|eP*aqhy6&Y6JfrO|$gLAD()rr5e-d=QNBmF$B`wo8u+ zhEo_%*1i=xwAV<x#ZdWlDJsT^DxlZSQQ!bkPg+NT`>v7I#fjjsFSt{csZvuYkEv1S z2pt0kJ?)4j&a0QjTiKmBcMBExCMeN#xX$(36~^~%o!tMCSo8j}Ks!$Z`slZtruvVC z>FP*Mj)zKUM{~FJrKQO;X*IKQ6sf<edqZU3K7D97v<vNAlUJJd;-~1HLYj~YD+<oB zek<DC*t8~m3tb@E-Ourb{H&dk50>zJwA4ROdmFnw1I2L7@!I@YGcOI*7tDeSVua6j zp7%qlO0yWuYAH>l{n{pX2{FM9wrD6&kF<+@(XwEnRbS@N<KMp>7jASXcbqXl04MwD zD>8MvsX&oq<4}Qb+ffI(<8OJ~DLWlM_?&scTQr*@tDK{M1r<)XGUY?nr$axggtv_7 zwv%CrW}D|*P)SLvY&I#84$3-NuEqC3Vx()7Lq(~5`>TkZ0WnUz;Yz9I@x+{01KEen zK3(aa;Cf@oIVm+j_4C=hG-k0)&QyCs|K#L7gIm`<^wGQet4@8CtPo8v4WW6a_T1t~ zXLh5pt-MiBL(fyLujL}7yTpqvy;*WUEMvG9)MX>04e9gv)D7G(tDvH9DxRTlohrn! zWHo&z6myYOZjGWP(BWECrA_a@PTrVu&n_&U_qTF>U^-AKBu86YwX>UsSU`O-FC;#} zNhPkw>`q+QXgT)jrSLPKG`A*wQpem3HmRMLhsSlBDZC9l^_`}~pUp^t;){-mVk$;7 z7dPmV8}9uz(kk)I0gDv-Xd?!euostdGmZssrM#cpfOl59Eaz5ms&W3Z{nHuCJ={rX zDPPmj1!J|RAC&{6Z`<cRlD*AtIN1He#5K<HrIFcIQ-vp)rLr>)B3tMVda22)ciKAr z8sJG|s?Ba;?1?Dglf7qmL96AMVTT#aKWi~#Nw!$!a_X7V@NQ8TP4B**1fhHeqATr_ zT>leqVtss43yZ|)5p<HL&fa27s~H^aItDLGCJmcJv!%cIdMRI&O4WzQHX;{h=lYWg zdp;^cbcC+QF>))Zy?=+vFLzEYp-S~kEWgnn+GFa-`p0{f1ZHS8E{@I`X{r>nOSNR7 zuaNqxb@HC}xjgVc^NmF}@?GJHq(jwW29Mc))FTCSSp=+`RrE3mE$F@BpUchAJ=YBk zC7vra?y@;|Yr6Gqf!8hB1qGkb5Wnhv4?AhEh4){6eOziD-+pd)%eP;IK;uV^=$ZZo z>F9uOF*gWzzf%WJ7&MC5JHMg0ri)jJzi)MW|NcESryk%bYn_^14D0el;U@KRKgzJF z+52tX;%<HT62sCuYO-{&#yrp6{CR+3FUgYY(8Yo7lQd`QCOzW)qVM{6{0KYd`Bi`L z>kNOweZuZJ_Dh%Yv$LD3cV1;HQH*_<Me=Br<~9-+k9xri)7`a4%5R7*u1>H~6LoL` zGfG7|WV(a%M3U=~HXVl7f|FdQ#i@zY;SaLW%~x;feJL9Fm_#)!n>@;QNZCWeC`T&z z&OJMEu4LLAMuW~*-`njm2excI&XmMKI@nn`o7=6<Z63Be6qZwaeW)sUs>d*ZrlU9D zu+;<C_PT3ZLavu8Pm!F`4n4mb;QyU!@P#rbE;d(2;P}#E3XfO9^_O`jqQhxCafLf2 zIqC(!*i#S6<y%{%`K$Fx@~b;{)kjbra>H}pB0Ww)EmbJ0%vvrmMNT~`f-u={WbhlE zkr4v~Ezn3DW)-rbHj6jp<knyfZ0rrjJ4iZ>km7olMY$6TF=mNN1I*Ua^&vfM6ZkuA z%1qktTBID+hl_)B@p;OoG6%in>va5XH#uUsIF>Mjp^-D=CmdyT$M~PT^?iFlJXra{ zOWv@5iAMj8;r<sM!eG`BXr_POT9t0#w)s1%iX*=s9?i_?9s4yvH+?zxBqwVEr(9c$ zK7(nTZ|m-(;dAmQZ%@5-{i!?@`7FFdVChb+EAPh#8CcV6GWOzK%3qhn_#c>$zGi;c zpu^_mi1vkZpZ-y+e7x_X0siNfLRY`<V!FZ1QZHWd1ROh%pxTqflR7;X?Jsq$k<KuU z*G+&MUyH^*dXPPg&fX!Y+A9gy&8au$h}FUDQgD_!nlKzx&V>lO8TTB0uIz#(ExK;o zxSc}!wh}P`=G(bK4KX)dCdJ~N?q>`{Mx7T}c%_t?Ip26YQ-k)<wqeOW)_CsV4z#EO zqh9Wjw=`*ln_nY+GH`nJ=1*sAE3dwG79k9dU#m7lGj{uUBQAEa2!*^t5!iM`r!9P7 ziEU~6X6w#k)6mr*^7P!2*h`(=?9V4`4AZZO4eu@=i{W^_xcqbI(WAWyvZ0k5sOIne z!T(eZQf7_qD4kb0-;88X56KGWYKvV=8vE=hnzHa~Mj73{?}Tm)g&4v=y{cFd?kciv z`N{CGJy@S#WIyb>Q>%es>lA;Kx2I)L^IKJVTw|4dYk4y=%X+>v^K6u1QpSXYKKFI{ z?B?2-iPX>*CRv%%t^RTP_ZVOGx*UK#^!8s?xT)PAh*jjeXfgSW>l~LU$M`pX<NWCN zdLzda#rSPPkXoFqW9Cm(;;U`0d^)7|b^CRms(Y$ObSJ7s6<_!V8%uj~J!EEbY_M1~ zGM%1zjJY+fw@rz)ZrJKWs6s~Nd!CDO(_tUA`Z{7OT=>J<_KQvl+YOqFXtFvQ)meF- z?als>Csyni<;M-5>^~D_Hg3QF(s2d_FG)ndWLt6<JzA^8Fk3FDEi5i${%FcX&=RHl zXFr7v1P^V)HnT@SV~}eEk2Tfx1cGmx;`n@$Vnq7(16AXh<*Pe;w%OUa=x07;;pJrs zin;qpb?m-%Uu?$W#dh1d8;Tsewp|YwHKjQe71F;=+H1#!CAqF+vxg4ilX#5LaIXIO zS&cTk3o7sKO!GV=Tyz!v9u@H@UI)v2!0534WBp6aV#fVpCG>hVS0*3LR7=;)xEag! z&y<O#7{jxztEeu-?Kj|b;GWlbE8RM;T3#KQ9q}pu*!HS#rTnb6`I#q0w`?s?QMfiy zmlLx;GS}Zfr!Fp!M|`L8GEN4oD=@|;oY~(~Z@u^{J7no6b+Ltc&IaOwHl3Ri7g~0$ zxQrF5sQDSD@R8C9+_4^ZkE+ux5DQ*8j#Z4TzjQv$YiNrc8gHY!+&@>x$$gr8k<)zc zs?tnz#H3PvG~L?~wKRfICU&a+V##RhZQHk)zPmRVZ`r4E(bOT6zNECKcLv<G;t};R zs^WEcuHo)rJN2HukHtWYnm=m>Dcr`#As$*)5Q~>L8jG2*FK?B;{gDuQw-}Xwk8eM% z@nc7mRHct1xjVV$U-!nn)|EMXhzgx(N5~Qy?>=C(*z2bK!1SyDO0<xB49(J$Sz!;$ z+tw<t0F&ULy)fz5@k)8w#n#$z16e_v^-al22D?U9nkF~m)KLsmO0-;bc1w~W*?~GK z1Gkm*w7etv5AHpGkTvb}9esw%WUmozEmbA@+gy<&n3hLek*eJhg({g}xS7*~qF!ow zz6<c~ZfeHF;;Fb=4|*3rP5)~1Vk~p3D08<*@?5N1qpk&qk427;!CZOOqqyfMi)!7g zpC(T8$3^Jt3X5C_GnZJd5x16j_fnJXn$FnCBtw~D$-V05?YnZ5O&5^0@$)`aiQ4{; z+xs)|QtAC4N@fg>F<FVEo4ys#nm{XymVLG{3jI*M^T}9#k>!ufrJ=;sPXe_AdA;xV z3!A3L^_C>mD=x?8%>AN{&pkjs^;qj+(a?FuW~7I~qt{4J$xPpq7DYGkNW5O9Xx7j- zyKLygtK-%eyDZ9K2<kdi@&$%6;k}dRPh$+izWCaXn0~tHe#Cj4|AREHc+txDaAVX9 z-zORNmBxJSh_)IFtGs=$3e@K!#n_lAq~4sQ9lpi4JjYdf_xZI*-{ufUDm%Sro+|g% zpK$9OP-P+fNaT1|XmZtk_@fwn|Fg@Hc_jPOjHwjjw=OZpq?PvPMn|NaFW=cS7h5=M zeb+XIU}9}OKojKjn7Mx_F^&Z@^Mu>y0E^pRrS}D<=vq^5CPU|AbFa{5pPztXd)i)g zs5?JW6SWf>*G-%7797qVP^CxB`&>;mc3(&n-<LQ`tI$D7eRFB(eB7guH<Gb71Jeeg zvrk-0_}H%8+GW3VYOlNgMVkkEqBYq|o5bkCo~yF?9J6X&a4gUWtfA}^Wb1ViW@cc$ z*FA&$6m<V+{}4yb_`HTofyS<9@hnPWRjqF`Ij)uby!^0|FPlju#H;39a#vSr1jn<0 z;L^HB4m+O(X8-v9lTw-@k9&j10XkvYj6zWu%o>Fno>OIQM$%D#42#S@QAznZn-r|~ z>$p?`?gQ;i?1{uEB%Pu?!xU1uDfq{*Wud+|F8-S^x27W95&A(c3tDZ5Gg*r-Ugb>} zjl5?!JUhkW_q3*vBx@?+aWkuJ@lI&Y&~D2*p{(#-){_y^PlP^cQu)2GKt7thudjcu zWTt;;x05pF`3BrT2V|S!1}(F8Av83-;h_N@?$_)#Zz!hRj%L%F*?#p>Z>LMR2hT%@ zmk4uyy|2$Oyw#fN)>xvY`te<RQPUVnrS`FBd&e8vE!b~ylwV9U;j$lIa-nJBBq0R$ zbZmWnj>zEGz3`@h`GTE@jNN4~T@kL{CXC~~n7sIA)r%H80u9+ED>xov+Gh62R>@bx z-GhYLM($H+(DZX9JhUr_txQR1_1#qpJ5PJi?)iIO)3f1wlKZxi^7~pEyWU)y_!=Oq zj`;MZv@s}@VM_nny>~?+lE*64c6ZGiC<N*X-kdFFV{u}lHA~M*Op#Zz552CkoI~8R z_@n*N=Oua$F&l{u<oEaa=Klgb__c1=Fiw^A4jdRmlYp^_#^YsDaL@ALOV767ykkTa z!>JiQk3FJ~{7{ePa5E84OTKW&5@|#K@<V>dFSM>fR@Bpw>(r;J=6p`|=>GWX6HIYw zDR|2(rXD^4s|_gJESkry1<M%pbrYn?H5p3QC{7XBxYHJxc$AIGt+JQ~HEAv#hL#S> zYK9Xv!kOWxt<_{ylf$i;i=0H9n04i-1ukr%Xs_XT`!6j3du-0y)_IZ*X-Q??C(UIb zxwVVxNvbzYAbSf%PAEg|29s_UlcKTf{8ys>d1^SF#zJ<u;EA7Ois>1azRNQ*X$H7} z3#CgDdV<BQk`wGlkxOl#9y->&ujRXx6-RYOfW2!>V&3XxZ<hE-SFJ|vmrAtn;QO7Y zMi?h5GA*j=P4CN>%X7#TPjq}Q|M0V3vg4LuG@91E55FDf{kDz}%U1AkUtshPjf9e< zvVxI-1oy>LN%wDc^m5c2;eJdC@7Nk1mbcB|lVPrZl*;J1c(CubuX8>(KC4{2-n6aI zoo=j+Id;414Wo+VK2tx3mgSqXCSEe^j}M$vFmSsuia@oWX*i+zf&JNMC9W$|3_Cxz zr#tvQ4OO48xz_ngwfND`-BSxpCTE;ZZy?9bLQE76wPxYdOwea-hBK%yWU6V;YHvA~ zO={Hpc>4;!VfBfUN|h~vqBLc-v}{jk5gz)D^vc%Ty6*?Q!+By^$7uXd>?<5~Nj3{@ zXmw2?&AH(G_RwEp+v&7DIJtm3msy@;XeNKmxA;T%H*N1Phrei7e#m^-a>w!Q_6Vmh z;vbG(+-Yk2%JF!QgJ+-HagML$*J>^oy^R>?w#DSqd?@3aS)wiTlaJVd(@mp8)Vf`a z$qg2D6dgc3^kdz}W@I0A7Ipse5Xvl6!>O?*XBf06N6UAdzbtONQ(50Wx+(gtrz1{S zLKBg6O?crkY%VlroPFU{Z)&x=%mo*G7(GU!oOkC_eO!jO1Y2Y7U^C`BqX&t4U-Yg@ zYxv_ryXSRq-v>-P81AOCofTlvGu*O##dpDM@S_r+SN`c_(rm@IxAUEkq?(MB;x!s? zemmplQ!EeD@YXu==?sa`TGggr*h_;|qIRpLs2B?VChMY2;yy9W7BebS#HYU8SN~v& zI{J*+{08FLEFhFyyXI;BcRpZ86DH!6BbHKqoENS)=xy8>QZLVnHXkBHMbl(6NJg2@ zZAmY%!`5q=#br$wT=P8ae{ww7{L+_&trEro0X|9(JGnQaYqL-bjlr!kP(u@aPYr&C z0lzagZ*+zDDZABsEhl~rR5n}8NJQ;8uEX@c%5v9~xxIhP^rs@j3mxdA9HnoK2bN74 zs63Y+x2e`#kIk|lXYFgfC#3jRMvzzZx#aG13dX!nk@s8TMzf^3?Q%FNvDPUMPvSk~ zWmOszc&?XM4>_7J2u!Ly+?phvS@Pt<X?%96onD|wZ33^2a&I2B&%v9p28XjrUM+kF z^6n5G8~F4crtB+iuR72M*Nx)u4lM{thQ*b39Noilk0~jS<x5m=?v|8>$o#Um=YQ^e zNrj}Xi}iocpm(yI;_hpSlF-|fLUFd{8z^(raAq9<P%>^{q+UVya(99ytv}l&OjaG| z?a(r#6Hu8;Bx*l^+1OJh#p78Ku6q|<c}`kw!D`P(oFQ1f@jOq(bV^chf40;ihQya@ zwmOS_%tKcU9P<^gvM6|qausY<w%|RmD_BKAgX2JjZnIVIKHDQ%*Qofay6^cbb(Pb+ zeIn{6zT3n??IvkCC*<W1dI~SZ)CRn57Tlm@@M{bLdrp5l*yX7&;3E-8v#<#7UF8+U z3$Jm6gWI;z4<PPxo=S|>H?W&da~Kx3FutNJBzUe-7tdT~B1>cJV!(iL?-8EuAiYLs zTQ_Cyn+!M78GC;j$CDrHbg21>c{l9hug*cCBSfuqYV?%Fb+)Q1JKAyDTEzv-hf<q& z5z$#4*WMYS@&}!?c*2$k=6_Lzppgz6aJO0Lv5q+mt_C=EqzrQFd95gw)WjIIGyGgS z6fIqE!?%r}IIu;9Ctq%Bg-G-sMvD9I7)3Uic(aHCg<XpoH4_@3<x#`WQgs{aHM+^l z2TuZ*%ecPj)p$`zMPC&*FW)UHP(1kDWgdBSdyb*-KFJp%bxAzFyqv0fsI(v>)TM&! zdFj#5rs_+}>;0Wlp1O8+v>yNLvLBPAbPqczI&1iDF-Nhc?45P)Rr=&mm0GzhT@zI3 zRr`|#nE}TIGIzXD=GIOZ7xc0BgiSASQ#jq)Uw?m;_7$b<(SNy=*(_GUVAgKjq|ET~ zLMVpLC0Ljp#nh*{>|F-Wek_x8Eoo`X-8&V>e490d!z2?1Ox;GFYdPiKo4tCeEApex zK%4w&w>C|icJR(oLvjq&qSzAtabS^q*SE`E?bTcFBl;J(_f3~=>r}gc7E{wK5#KD) zR%tgSP#zLwUf5hF^kVevvT~~*S2*V_L6<v-ZxfdUgKiaSzEpA=sIg{Bb=6K`Pdzo` z+TA&(KP9>U!RR+Q*cU0N9oc^(9~pT6sB}EqgQ(#~a6VOdzxC_*i*rRZw(sr}3+1T3 zrAyqS*30N}&xikNd(U5jW-hLHuP1ullp}Dm-KM&sDN7e^y`XvKA$#}Kz4R}EY3NH2 z6^^E|6&YzRa);E>FlLQT_PeD=YF)?Q-6MPq7ZB|G>1M_OruH%&9ge4sFr$JtcKsKr ziy3D!dY*O8zP_-)eSDb`Gjfb_1Ep*h%dH2q7@Ro(vq&n|;^HXSxK=6|%qpKw>7-@r zq^$0e>^dnaNS~0(C#_EJfb_6;FSK*A-{N=xj)FJ#Q1~vgCT>8>X7Lbqt$ko{xcx{9 zHCuf_S_k;RV4E3#YeHw+Gny{)1L%EV$0^IV-rOp#Y59B=G8C`N8Lw<G_hu0aYV8w9 ze)dl^v#U!}@FY`BZ!qv?eLD)X4&<HdWTXL0=0}TR)=%8ZWzoIaFMeH}LT0F{EvgDA z%pvJ6fBuAf+&cRtzghMduJ@8disbIbV6%Np?-Qb%K5>}1B28N&4;buJCv>NEw56i2 z^A6V;p1SOwVsYhEfZ`UWx)S0gy09`2!ldLJ!#&GG^$!^LCg@)YylHvsxSBcg!Unu- z77zUUo&aC*N`+x66lM!Q5%4f`g0?K|!|SNz!!Y%leP=S_Ia6G}5&12plB93X=z7HP zep+aU#ju^<FZ{BIA<^WUVx+}w=gy{EeVHt9{S;VI()kC%^uHJ`3`z4%IJoUSCm5&{ zY-br8!AjZ5&Q{=dK>kK^M%+)uV#>WEEWQ<1*ZCYcbQl|bUUGa?|9rHK2kw-XdIn~@ zFNQNrbuL%?O6Y=>g%$kC44<xdY@A8riGY(Ybr|r~oHt4l-w!0GZ6nQ`75I>UhgG*L z)81D8JCia=vh+4?wDW4b-glinZU!#{3v^w(1d=K)XnM(dg(}sne3tGwe&``w)x1y4 z_1NR`EC;a+ZenC0Uj~EB1HR}kHpOTRYw~=kSlD5Gkw&q^z1tb{jvwAt5SzKhi_-5& zPTd)5uDO1~RX)4Op4N=9P!$QbV7u?j&livW`bo`Kcfw)=)od1Zpk>zXN~KKk=c!fc zIwv@S)%>1*tn5r&Sbh)dpga|&4wskmF}ZKdoVsV|Q=4VY@W=EWcLVR{z3%Ym<-{{{ z==AKcFf6rg+I4el0G|`p=R&OHDefuiy$&$hV4om^`~5Ti+*q2B=WfPMCg?p}KJ6{E z=Ke3*(wmKoW9esX9x=8xu=Ejk6kbfZ9~&WP$Zw{THz`tvQB9yJxMW%o$JZM6zEd!Z zU@3Tn;fIa>z;i#gZXOv0&P$5;BJKT|o$amkd$uk$J-nl7!E;HGnbrIDfcjGA^qA~W zPeXO<{Nf?MswO0d)!cY3Z-Qa%qAX%$QE7DQ+fVA!B5TeK1h{EvBfIuFHB2zvuEx)N zY9TY93z_$s`rKz1oA*oC17^RCgwN~qtCuuW@6;aA(vIqW7j&&1wY`ZREpjOCb587( zQ2e$@4v)KyH3}adN}@z1*#zy}k_Rtpvo8*((W{0}e`@C1p;73T=7r7iPYMgW@znNN zk^jO|L0D#6ya@xZH|>k3O4|onyFX@#+_n(sz9^T>WWkkK)xRyWw8;K~xur|&$Udcy zXAjMMqrCf7;l~C%Zx-;ZUvRMi?wCBTwRnt0<1CR_nkvSJ1{`J#4R5Ax=-7mEnrY3q z5l$BRF-!Q>_fS||VA{FC+?&NbvTGN6Y-}Y9cqd97Qv8?>XJz*>NnaD3k{vUmM(kv| zkbn0eV`I3Ww}08sCxW&O;+hv6y2FQk$`9+Hw3JE(M~5C5HyrlnWDWh79_(h(32NOt zP^ELK+o@6D;OS`OUS{zCHLIa&OR$wWte^4f&||t-6sMZHSLu=M7sDAJoGsEX?VA-p z6Qj4iE!}Q=QDM(c=fq%pxgCSMYIwUxD&K!+xp979=;Lv%Mq!t5?P+t@!Bii%7HTZ* zr1+#wK@)RBPTBq!GUs2_RGoK|D}H@*qHJpUspZh&!>^@dH(+VAz8wvM`2LP@!<uw5 z0$6#&8OB-4PIb~Td*4m}WjBw<3IvvAHLJE{x}#<7-Qw@{mE{eX>ZEU13eaEi7oP6O zfM@Udn3rBv`Q*ijoi~rjp%a|4cJEx{c(A15@M7r{wUe#Fv+2kDL*Cso<_<c-?HfSD zqTX(|?MNf1p;e7yPJ$8T$Z}Zo2dS~V^PfAidB5>y&de%Qdk%{p2@rVV%YlAYE%RUp z9h>GZ#iN?V-Xqn0fxR-U&z$IuQYkBp_Qr0fuoF0R;KX!=2424>z9`45>A?b%3Wa&i zzoG$N{Li_W8o`f94x9v0iAM<g{LMiyB8XCSA^1WulYVd%Ig}8F(DVesflx@Kq9P2T z;p*f>gaQ^psG&6+AXWqjU~~Y1m`FH+9LeZTbOP~}<f5;uvkM8tErLs;udA0MXzNb! zbAcm*iN0QNgqJ6XI3xvn!4M=DUm_?wfe=RU-!*^;2PbF<KVksU6OJH~N5O##Rk$1m zikrlPvcIPz(bvzx%a;hp%fb-^I35p2IKU8K5@;ki3JDsyf=mvMaEBv2;0Q1jnA95t zH_E^fU>?9LAk-g@2!Nx|C^+IM+!ppb`t(1Jp)gD>S6@F8Bo!b!1SBuDm6%K^6cTik zlEGo%C|SG=7zCWtgTPFvi3ZWn!PnKB<mC%TK^_Xkp+eP$1d^{SIi6D*iG-{a{QXw~ zT@47oXM#=;5k>?Lz{(%pz!2vC_9Sw6EEFUQM6nVpyQ0JWu8t%ZpfqyWD`eKIkr{t` zNL4=vC}<Rq2EtM&c<Zdl7VrfT4Be4}jx?Z{P-j1&+!d-f!S8xfK|n2t-*t6R^>lV8 z!jT}Bl@LTG5RSsg0Glx<5k2-n^8CZWUm`<T{YThee5`^nYd8*x{C|;P|F`2{z>^^Z z^amnxfkn!}aTpv74;E5ca88Am#lkV*j2=o@Kqqt`YL5YDndBTJ3$_1W3ATD41KL6f z8e=tK0bE8QApywAfCL7@%fV%3!8Ldmv0!ppC;`WX#$#b1!Esm|c$&Z<z)ocW2$Gcp z1Ry~f%AxxhkU;p3Ea(r7iI>BJe5DS`$;@D6VNebc0Wk$791273iv^6Yi~-t$dC6sr z3=o7IIbmh-<Qy*x=mqsS6dEwNGOrAn7YiOD=#?dO4-0ZRAS@^+C-Bk}5(Xp$D2L`J zD-9ALpaBRJ2F-~DeaJ#tB@W8TmIlov16?2?5kX`_tU)<QWPL!>tt1%sx6b|>YNY@O zTp0olI0oIY5LJM3s5@i^tLj?K0kyDILdYY?0O$nRCX)}@!GGgJtstJr#so%!uKyba zA_|Fwk?;K;0FT4NR}*9iD>eYx!P-QYHLwfFCjLrfdw^_WHIZ%Qw@pCy@OOgfB42|s zAlq0?5a&1~7U&Sr3faI02`>k90@(#vjs8xnHnEyRLIHY*k#ng0S0d|r<v!HrzXaI@ zq*W-l{cn-`8_}u4$$@8PkgFhvc!3fD4zx%PjCX*eq5U?fbA$thl1oH5n*1RF?6<Qa zziS6AoZx8k>iyd(fe;RIbF!a8lf5J4W58lcu6Bo$UrT|t-UHaiN}VU<BFT5XfEE8P z0lx<rBG-C@XXbYaisvUgPhi~O9_())3haNS`HCL}sv%$cf+uIC<Ogi%cZuvZWytfx zemh*S<dWO}cGbV>0IvBr6)XN1yelKO0xlVH+T^l79GupI66|k>3oM3wGXM@w1j(hN zz*JXCWY>;e;r`F!z2=kwJOC@~{JH=4VSy@Y<!cF5FyN{`{_lGagaZK_rGSnIRrG2z z;Ja7c$e+(b{%VF<Z3cZkv0+2#hO+WsE_2n>fR8r*kO&Fn_xtTXl@K4RFTD-HD)U>; zhJeN2LN-Lh0p5Uw^rsiO*=n~{?~0Me!lj^ps|kV<|Kl4C4CXI9pylNY5YCDeR=-#Q z^Zobr2F9dq1Z^@)W$zGaBW>$I3-1^XH{-UkF|wg>yS@ds0Z{x~WB;F$__xvg|4AZb z4y$@r_won$3fQW?t0M%R$sZ7zL4a{ZZ7Ux^{V@{Y*8b`YzQQ57dU<L<-#m$F$fJ>H z03gwL6cU3$q4pqAqDZ8uI1Hf<wF972%!5GkcK0H=yV?VLLP?_~;VvYSw>$#z=Z3VG zuQTWZu)d?e1Nai??>^p+PH=mIgB!q*EB(d)GT$Iyq7w|bK@1Gwkl#N5Gq7MKbAta@ z2jO1m2lxD4hr&QGWL+Iv7PzVPb#l-;3jO}{MdQJK_@6pFu+p{dFi7ZWTT=%vz~*6n z9R|Rh^>t{lSy)$x#zKoe^!q~#1_=&@*Vmz;6@Ohj4A>Q{t3zQRZ?U!=3Mg`Y9f+d- zR|Xj1R@e4LqOs6oyk<NkTJ~Q)fR(JD1BsEruh$V0BMbIX>&BBoZcrx!t>J6um67|G zJ}eT%cCTxPmHC%GU>fWBMPg;4XJqXhSh;`nfdmNSAN}Gs&@T=r`wzc3ImnN%okJD{ zx!ZMhn15^+DGNc{_3dPVrL3>R|D#K!90v0HYv+)Y0nmMY9rj<@%i;c&shk{uL+kp2 zY1cm=NIVWgI&0^}g8~1k!~ZiL3W<V{$(p`k{ekeo+ByJn|EeST5?tMhzT^)*bv>QD r0DLC9Lxh=^7qlLd@q@W*Fxd0|4s#>;lE_O8P=hQACM>LJtOff&6h-&1 literal 0 HcmV?d00001 diff --git a/tests/population/name_testcase.png b/tests/population/name_testcase.png new file mode 100644 index 0000000000000000000000000000000000000000..1173cb0233aedb2dc3f0e3d110730265461364a4 GIT binary patch literal 40888 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%0A4z{FtUfUC|s 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 literal 0 HcmV?d00001 diff --git a/tests/population/plot_scaling.py b/tests/population/plot_scaling.py index c819a2073..fe5b04174 100644 --- a/tests/population/plot_scaling.py +++ b/tests/population/plot_scaling.py @@ -8,17 +8,22 @@ def calc_mean_and_std(arr): # Readout result_file = 'comparison_result.dat' +result_file = 'comparison_result_astro1.dat' +name_testcase = 'Astro1' + + results = [] -name_testcase = 'laptop David' with open(result_file, 'r') as f: for line in f: res = list(eval(line.strip())) - res.append(res[-2]/res[-1]) + if len(res)==6: + res.append(res[-2]/res[-1]) results.append(res) # make dataframe headers = ['cores', 'total_systems', 'total_time_sequentially', 'total_time_multiprocessing', 'ratio'] + df = pd.DataFrame(results) df.columns = headers @@ -63,7 +68,9 @@ for i in unique_amt_cores: # Plot x_position_shift = 0 y_position_shift = -0.05 +max_speedup = 0 for amt_systems in unique_amt_systems: + cores = [] speedup = [] std = [] @@ -75,20 +82,26 @@ for amt_systems in unique_amt_systems: speedup.append(el['mean_ratio']) std.append(el['std_ratio']) + if el['mean_ratio'] > max_speedup: + max_speedup = el['mean_ratio'] + + # add number of runs its based on plt.text(el['cores'] + x_position_shift+0.01, el['mean_ratio']+y_position_shift, el['total_runs']) plt.errorbar(cores, speedup, std, linestyle='None', marker='^', label='{} systems'.format(amt_systems)) - x_position_shift += 0.04 + x_position_shift += 0.1 plt.title("Speed up ratio vs amount of cores for different amounts of systems on {}".format(name_testcase)) plt.xlabel("Amount of cores used") plt.ylabel("Speed up ratio (time_linear/time_parallel)") -plt.legend() -plt.show() - - - +plt.xlim(0, max(unique_amt_cores) + 4) +plt.ylim(0, max_speedup + 2) +plt.grid() +plt.legend() +plt.savefig('name_testcase'+'.png') +plt.savefig('name_testcase'+'.pdf') +plt.show() \ No newline at end of file -- GitLab