Changes between Version 20 and Version 21 of DynamicByDefault


Ignore:
Timestamp:
Nov 24, 2012 7:06:43 PM (3 years ago)
Author:
igloo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DynamicByDefault

    v20 v21  
    126126 
    127127Full nofib results comparing the two are 
    128 [http://lambda.haskell.org/~igloo/dynamic-by-default/nofib-osx-x86-x86_64-base.html here for static by default], and 
    129 [http://lambda.haskell.org/~igloo/dynamic-by-default/nofib-osx-x86-x86_64-dyn.html here for dynamic by default], but the highlights are in the table below. 
     128[http://lambda.haskell.org/~igloo/dynamic-by-default/nofib-osx-x86-x86_64-base.html here for static by default], 
     129[http://lambda.haskell.org/~igloo/dynamic-by-default/nofib-osx-x86-x86_64-dyn.html here for dynamic by default], and 
     130[http://lambda.haskell.org/~igloo/dynamic-by-default/nofib-osx-x86-x86_64-dyn.html here for comparing static x86 to dynamic x86_64]. 
     131The highlights are in the table below. 
    130132 
    131133The left-hand column shows the status quo: x86_64 only beats x86 in mutator time, and that is a shallow victory as the higher GC time means that total runtime is worse for x86_64. 
    132134 
    133 The right-hand column shows what the situation would be if we switch to dynamic instead. Allocations, memory use etc remain higher due to all word-sized things being twice as big. However, the combination of x86_64's performance improving, and x86's performance getting worse, means that x86_64 is now faster overall. 
     135The middle column shows what the situation would be if we switch to dynamic instead. Allocations, memory use etc remain higher due to all word-sized things being twice as big. However, the combination of x86_64's performance improving, and x86's performance getting worse, means that x86_64 is now faster overall. 
     136 
     137The right-hand column shows the difference between static x86 and dynamic x86_64. 
    134138 
    135139{{{ 
    136140#!html 
    137141<table border="1"> 
    138 <tr><td></td><th style="font-weight: bold;">x86 -> x86_64<br />when static by default</th><th style="font-weight: bold;">x86 -> x86_64<br />when dynamic by default</th></tr> 
    139  
    140 <tr><td colspan="3" style="font-weight: bold;">Binary Sizes</td></tr> 
    141 <tr><td>-1 s.d.</td><td>+38.0%</td><td>+7.4%</td></tr> 
    142 <tr><td>+1 s.d.</td><td>+38.6%</td><td>+30.6%</td></tr> 
    143 <tr><td>Average</td><td style="color: red">+38.3%</td><td style="color: red">+18.5%</td></tr> 
    144  
    145 <tr><td colspan="3" style="font-weight: bold;">Allocations</td></tr> 
    146 <tr><td>-1 s.d.</td><td>+63.2%</td><td>+63.2%</td></tr> 
    147 <tr><td>+1 s.d.</td><td>+114.4%</td><td>+114.4%</td></tr> 
    148 <tr><td>Average</td><td style="color: red">+87.0%</td><td style="color: red">+87.0%</td></tr> 
    149  
    150 <tr><td colspan="3" style="font-weight: bold;">Run Time</td></tr> 
    151 <tr><td>-1 s.d.</td><td>-23.5%</td><td>-31.6%</td></tr> 
    152 <tr><td>+1 s.d.</td><td>+36.1%</td><td>+14.7%</td></tr> 
    153 <tr><td>Average</td><td style="color: red">+2.1%</td><td style="color: green">-11.4%</td></tr> 
    154  
    155 <tr><td colspan="3" style="font-weight: bold;">Elapsed Time</td></tr> 
    156 <tr><td>-1 s.d.</td><td>-18.2%</td><td>-30.0%</td></tr> 
    157 <tr><td>+1 s.d.</td><td>+40.1%</td><td>+17.0%</td></tr> 
    158 <tr><td>Average</td><td style="color: red">+7.0%</td><td style="color: green">-9.5%</td></tr> 
    159  
    160 <tr><td colspan="3" style="font-weight: bold;">Mutator Time</td></tr> 
    161 <tr><td>-1 s.d.</td><td>-32.4%</td><td>-38.8%</td></tr> 
    162 <tr><td>+1 s.d.</td><td>+20.1%</td><td>+3.0%</td></tr> 
    163 <tr><td>Average</td><td style="color: green">-9.9%</td><td style="color: green">-20.6%</td></tr> 
    164  
    165 <tr><td colspan="3" style="font-weight: bold;">Mutator Elapsed Time</td></tr> 
    166 <tr><td>-1 s.d.</td><td>-28.7%</td><td>-37.9%</td></tr> 
    167 <tr><td>+1 s.d.</td><td>+22.5%</td><td>+4.4%</td></tr> 
    168 <tr><td>Average</td><td style="color: green">-6.6%</td><td style="color: green">-19.5%</td></tr> 
    169  
    170 <tr><td colspan="3" style="font-weight: bold;">GC Time</td></tr> 
    171 <tr><td>-1 s.d.</td><td>+4.5%</td><td>-11.9%</td></tr> 
    172 <tr><td>+1 s.d.</td><td>+74.8%</td><td>+54.1%</td></tr> 
    173 <tr><td>Average</td><td style="color: red">+35.2%</td><td style="color: red">+16.5%</td></tr> 
    174  
    175 <tr><td colspan="3" style="font-weight: bold;">GC Elapsed Time</td></tr> 
    176 <tr><td>-1 s.d.</td><td>+7.9%</td><td>-8.0%</td></tr> 
    177 <tr><td>+1 s.d.</td><td>+75.1%</td><td>+56.7%</td></tr> 
    178 <tr><td>Average</td><td style="color: red">+37.4%</td><td style="color: red">+20.0%</td></tr> 
    179  
    180 <tr><td colspan="3" style="font-weight: bold;">Total Memory in use</td></tr> 
    181 <tr><td>-1 s.d.</td><td>-1.7%</td><td>-1.9%</td></tr> 
    182 <tr><td>+1 s.d.</td><td>+88.9%</td><td>+88.9%</td></tr> 
    183 <tr><td>Average</td><td style="color: red">+36.3%</td><td style="color: red">+36.1%</td></tr> 
    184  
    185 <tr><td colspan="3" style="font-weight: bold;">Compile Times</td></tr> 
    186 <tr><td>-1 s.d.</td><td>+11.9%</td><td>-8.9%</td></tr> 
    187 <tr><td>+1 s.d.</td><td>+21.1%</td><td>+2.9%</td></tr> 
    188 <tr><td>Average</td><td style="color: red">+16.4%</td><td style="color: green">-3.1%</td></tr> 
     142<tr><td></td><th style="font-weight: bold;">x86 -> x86_64<br />when static by default</th><th style="font-weight: bold;">x86 -> x86_64<br />when dynamic by default</th><th style="font-weight: bold;">x86 static -> x86_64 dynamic</th></tr> 
     143 
     144<tr><td colspan="4" style="font-weight: bold;">Binary Sizes</td></tr> 
     145<tr><td>-1 s.d.</td><td>+38.0%</td><td>+7.4%</td><td>-95.9%</td></tr> 
     146<tr><td>+1 s.d.</td><td>+38.6%</td><td>+30.6%</td><td>-92.0%</td></tr> 
     147<tr><td>Average</td><td style="color: red">+38.3%</td><td style="color: red">+18.5%</td><td style="color: green">-94.3%</td></tr> 
     148 
     149<tr><td colspan="4" style="font-weight: bold;">Allocations</td></tr> 
     150<tr><td>-1 s.d.</td><td>+63.2%</td><td>+63.2%</td><td>+63.2%</td></tr> 
     151<tr><td>+1 s.d.</td><td>+114.4%</td><td>+114.4%</td><td>+114.4%</td></tr> 
     152<tr><td>Average</td><td style="color: red">+87.0%</td><td style="color: red">+87.0%</td><td style="color: red">+87.0%</td></tr> 
     153 
     154<tr><td colspan="4" style="font-weight: bold;">Run Time</td></tr> 
     155<tr><td>-1 s.d.</td><td>-23.5%</td><td>-31.6%</td><td>-23.6%</td></tr> 
     156<tr><td>+1 s.d.</td><td>+36.1%</td><td>+14.7%</td><td>+37.0%</td></tr> 
     157<tr><td>Average</td><td style="color: red">+2.1%</td><td style="color: green">-11.4%</td><td style="color: red">+2.3%</td></tr> 
     158 
     159<tr><td colspan="4" style="font-weight: bold;">Elapsed Time</td></tr> 
     160<tr><td>-1 s.d.</td><td>-18.2%</td><td>-30.0%</td><td>-22.9%</td></tr> 
     161<tr><td>+1 s.d.</td><td>+40.1%</td><td>+17.0%</td><td>+38.3%</td></tr> 
     162<tr><td>Average</td><td style="color: red">+7.0%</td><td style="color: green">-9.5%</td><td style="color: red">+3.3%</td></tr> 
     163 
     164<tr><td colspan="4" style="font-weight: bold;">Mutator Time</td></tr> 
     165<tr><td>-1 s.d.</td><td>-32.4%</td><td>-38.8%</td><td>-32.4%</td></tr> 
     166<tr><td>+1 s.d.</td><td>+20.1%</td><td>+3.0%</td><td>+20.7%</td></tr> 
     167<tr><td>Average</td><td style="color: green">-9.9%</td><td style="color: green">-20.6%</td><td style="color: green">-9.7%</td></tr> 
     168 
     169<tr><td colspan="4" style="font-weight: bold;">Mutator Elapsed Time</td></tr> 
     170<tr><td>-1 s.d.</td><td>-28.7%</td><td>-37.9%</td><td>-32.0%</td></tr> 
     171<tr><td>+1 s.d.</td><td>+22.5%</td><td>+4.4%</td><td>+21.3%</td></tr> 
     172<tr><td>Average</td><td style="color: green">-6.6%</td><td style="color: green">-19.5%</td><td style="color: green">-9.2%</td></tr> 
     173 
     174<tr><td colspan="4" style="font-weight: bold;">GC Time</td></tr> 
     175<tr><td>-1 s.d.</td><td>+4.5%</td><td>-11.9%</td><td>+4.1%</td></tr> 
     176<tr><td>+1 s.d.</td><td>+74.8%</td><td>+54.1%</td><td>+76.3%</td></tr> 
     177<tr><td>Average</td><td style="color: red">+35.2%</td><td style="color: red">+16.5%</td><td style="color: red">+35.5%</td></tr> 
     178 
     179<tr><td colspan="4" style="font-weight: bold;">GC Elapsed Time</td></tr> 
     180<tr><td>-1 s.d.</td><td>+7.9%</td><td>-8.0%</td><td>+7.1%</td></tr> 
     181<tr><td>+1 s.d.</td><td>+75.1%</td><td>+56.7%</td><td>+76.0%</td></tr> 
     182<tr><td>Average</td><td style="color: red">+37.4%</td><td style="color: red">+20.0%</td><td style="color: red">+37.3%</td></tr> 
     183 
     184<tr><td colspan="4" style="font-weight: bold;">Total Memory in use</td></tr> 
     185<tr><td>-1 s.d.</td><td>-1.7%</td><td>-1.9%</td><td>-1.8%</td></tr> 
     186<tr><td>+1 s.d.</td><td>+88.9%</td><td>+88.9%</td><td>+88.9%</td></tr> 
     187<tr><td>Average</td><td style="color: red">+36.3%</td><td style="color: red">+36.1%</td><td style="color: red">+36.2%</td></tr> 
     188 
     189<tr><td colspan="4" style="font-weight: bold;">Compile Times</td></tr> 
     190<tr><td>-1 s.d.</td><td>+11.9%</td><td>-8.9%</td><td>+2.5%</td></tr> 
     191<tr><td>+1 s.d.</td><td>+21.1%</td><td>+2.9%</td><td>+17.2%</td></tr> 
     192<tr><td>Average</td><td style="color: red">+16.4%</td><td style="color: green">-3.1%</td><td style="color: red">+9.6%</td></tr> 
    189193</table> 
    190194}}}