diff options
Diffstat (limited to 'doc/strlcpy-timing.txt')
-rw-r--r-- | doc/strlcpy-timing.txt | 109 |
1 files changed, 0 insertions, 109 deletions
diff --git a/doc/strlcpy-timing.txt b/doc/strlcpy-timing.txt deleted file mode 100644 index 56ed40c..0000000 --- a/doc/strlcpy-timing.txt +++ /dev/null @@ -1,109 +0,0 @@ -strncpy fills the buffer with \0s if there is room left, which can build up -runtime if the buffer is much larger than the string to be copied. The turning -point on i7-4600U is about when the buffer is 3 times larger or more than the -string. Copying a M-char string into a buffer of size N with different -strategies turned out as follows, not favorably for switching to memcpy -approach: - -M->N: [str minus mem] (str=walltime, mem=walltime) - - 3-> 4: 0.-18010833 (str=0.053766602 mem=0.071777435) - 3-> 8: 0.-02276861 (str=0.069214041 mem=0.071490902) - 3-> 16: 0.-02594396 (str=0.069160485 mem=0.071754881) - 3-> 32: 0.-06119749 (str=0.064986286 mem=0.071106035) - 3-> 64: 0.-10011776 (str=0.062121350 mem=0.072133126) - 3-> 80: 0.000049152 (str=0.071466420 mem=0.071417268) - 3-> 128: 0.-10057727 (str=0.062143411 mem=0.072201138) - 3-> 256: 0.006148232 (str=0.077881866 mem=0.071733634) - 3->1024: 0.133625167 (str=0.206994485 mem=0.073369318) - 3->2048: 0.335047756 (str=0.405503204 mem=0.070455448) - 7-> 4: 0.-28288138 (str=0.046614065 mem=0.074902203) - 7-> 8: 0.-20974635 (str=0.052778755 mem=0.073753390) - 7-> 16: 0.-06903916 (str=0.068165128 mem=0.075069044) - 7-> 32: 0.-11161234 (str=0.064787697 mem=0.075948931) - 7-> 64: 0.-12026108 (str=0.061544945 mem=0.073571053) - 7-> 80: 0.-01877441 (str=0.072047713 mem=0.073925154) - 7-> 128: 0.-11343544 (str=0.062557326 mem=0.073900870) - 7-> 256: 0.005472409 (str=0.079922333 mem=0.074449924) - 7->1024: 0.133164952 (str=0.206290338 mem=0.073125386) - 7->2048: 0.329050142 (str=0.403909643 mem=0.074859501) - 15-> 4: 0.-28134891 (str=0.046436269 mem=0.074571160) - 15-> 8: 0.-26808385 (str=0.047722251 mem=0.074530636) - 15-> 16: 0.-21857806 (str=0.052866161 mem=0.074723967) - 15-> 32: 0.-15183331 (str=0.058903617 mem=0.074086948) - 15-> 64: 0.-06020317 (str=0.068661890 mem=0.074682207) - 15-> 80: 0.-13077126 (str=0.061986539 mem=0.075063665) - 15-> 128: 0.-05110583 (str=0.069024087 mem=0.074134670) - 15-> 256: 0.010346893 (str=0.085920728 mem=0.075573835) - 15->1024: 0.130128294 (str=0.203516720 mem=0.073388426) - 15->2048: 0.384323201 (str=0.459435357 mem=0.075112156) - 31-> 4: 0.-40592735 (str=0.043398064 mem=0.083990799) - 31-> 8: 0.-40405756 (str=0.043312982 mem=0.083718738) - 31-> 16: 0.-42308714 (str=0.044729400 mem=0.087038114) - 31-> 32: 0.-14127856 (str=0.056652936 mem=0.070780792) - 31-> 64: 0.-01889875 (str=0.069010683 mem=0.070900558) - 31-> 80: 0.001793133 (str=0.072637736 mem=0.070844603) - 31-> 128: 0.-02607933 (str=0.068334098 mem=0.070942031) - 31-> 256: 0.018139903 (str=0.088753971 mem=0.070614068) - 31->1024: 0.133949645 (str=0.204402776 mem=0.070453131) - 31->2048: 0.398049056 (str=0.468551187 mem=0.070502131) - 63-> 4: 0.-40166921 (str=0.043758420 mem=0.083925341) - 63-> 8: 0.-40966732 (str=0.043495110 mem=0.084461842) - 63-> 16: 0.-43784039 (str=0.043770941 mem=0.087554980) - 63-> 32: 0.-31256988 (str=0.046623389 mem=0.077880377) - 63-> 64: 0.-13997348 (str=0.068499638 mem=0.082496986) - 63-> 80: 0.-13916305 (str=0.068620538 mem=0.082536843) - 63-> 128: 0.-08328403 (str=0.074551339 mem=0.082879742) - 63-> 256: 0.004095734 (str=0.087035878 mem=0.082940144) - 63->1024: 0.151451020 (str=0.233770899 mem=0.082319879) - 63->2048: 0.355839456 (str=0.438594030 mem=0.082754574) - 79-> 4: 0.-53092708 (str=0.045118918 mem=0.098211626) - 79-> 8: 0.-54340043 (str=0.043908506 mem=0.098248549) - 79-> 16: 0.-57213292 (str=0.043950458 mem=0.101163750) - 79-> 32: 0.-44929075 (str=0.047104201 mem=0.092033276) - 79-> 64: 0.-40841792 (str=0.060369798 mem=0.101211590) - 79-> 80: 0.-34512567 (str=0.072643063 mem=0.107155630) - 79-> 128: 0.-26004050 (str=0.081177431 mem=0.107181481) - 79-> 256: 0.-14164733 (str=0.093010965 mem=0.107175698) - 79->1024: 0.131262747 (str=0.238379553 mem=0.107116806) - 79->2048: 0.337908136 (str=0.444999897 mem=0.107091761) - 127-> 4: 0.-53463038 (str=0.044954314 mem=0.098417352) - 127-> 8: 0.-54030635 (str=0.044154075 mem=0.098184710) - 127-> 16: 0.-56778235 (str=0.044743552 mem=0.101521787) - 127-> 32: 0.-44858267 (str=0.047231395 mem=0.092089662) - 127-> 64: 0.-42149730 (str=0.059234517 mem=0.101384247) - 127-> 80: 0.-45513663 (str=0.062055806 mem=0.107569469) - 127-> 128: 0.-23468852 (str=0.083671245 mem=0.107140097) - 127-> 256: 0.-04999520 (str=0.102026030 mem=0.107025550) - 127->1024: 0.139261976 (str=0.246475516 mem=0.107213540) - 127->2048: 0.345950301 (str=0.453134545 mem=0.107184244) - 255-> 4: 0.-70209659 (str=0.044940128 mem=0.115149787) - 255-> 8: 0.-71166235 (str=0.044243636 mem=0.115409871) - 255-> 16: 0.-73994321 (str=0.044365563 mem=0.118359884) - 255-> 32: 0.-61137064 (str=0.047746212 mem=0.108883276) - 255-> 64: 0.-58453794 (str=0.059850772 mem=0.118304566) - 255-> 80: 0.-61859639 (str=0.062199397 mem=0.124059036) - 255-> 128: 0.-42561423 (str=0.081341036 mem=0.123902459) - 255-> 256: 0.-35252238 (str=0.127124980 mem=0.162377218) - 255->1024: 0.097331464 (str=0.259751271 mem=0.162419807) - 255->2048: 0.305789595 (str=0.468141377 mem=0.162351782) -1023-> 4: 0.-161452842 (str=0.043764021 mem=0.205216863) -1023-> 8: 0.-155095262 (str=0.043698735 mem=0.198793997) -1023-> 16: 0.-153207918 (str=0.043675714 mem=0.196883632) -1023-> 32: 0.-152565254 (str=0.047438108 mem=0.200003362) -1023-> 64: 0.-144192775 (str=0.058773300 mem=0.202966075) -1023-> 80: 0.-149929950 (str=0.062432021 mem=0.212361971) -1023-> 128: 0.-132285886 (str=0.080313089 mem=0.212598975) -1023-> 256: 0.-133526587 (str=0.108033655 mem=0.241560242) -1023->1024: 0.-90772704 (str=0.311350193 mem=0.402122897) -1023->2048: 0.088417585 (str=0.490594175 mem=0.402176590) -1368-> 4: 0.-211901350 (str=0.044167308 mem=0.256068658) -1368-> 8: 0.-203185010 (str=0.044571028 mem=0.247756038) -1368-> 16: 0.-200207782 (str=0.044133973 mem=0.244341755) -1368-> 32: 0.-202440240 (str=0.047977200 mem=0.250417440) -1368-> 64: 0.-193238434 (str=0.058934429 mem=0.252172863) -1368-> 80: 0.-200936170 (str=0.062169785 mem=0.263105955) -1368-> 128: 0.-181397289 (str=0.081740755 mem=0.263138044) -1368-> 256: 0.-183151788 (str=0.107983466 mem=0.291135254) -1368->1024: 0.-142070533 (str=0.292431947 mem=0.434502480) -1368->2048: 0.-16089517 (str=0.508519291 mem=0.524608808) |