www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - Interesting performance changes over time in Kostyas benchmarks

Kostya has updated his benchmarks today and moved from:

gdc 5.2.0 to 6.3.0
LDC 0.15.2 beta1 to 1.4.0-beta1 (LLVM 4.0.1)

https://github.com/kostya/benchmarks/commit/73e0cb0e755f8e45d79fd2083b217d107e1185a9

The results are interesting to see as there over a year and half 
development between versions.

LDC seems to have slowed slightly in some benchmarks. GDC shows a 
more steady improvement.

The most noticeable jumps are the Json encoding what is a direct 
result from the library improvements, where we see results drop 
van 25 -> 8 and 27 -> 7 ( but a large increase in memory usage ).

Brainfuck v2.0

-| D Gdc           | 3.05    | 1.4         |
+| D Gdc           | 2.61    | 1.4         |

-| D Ldc           | 2.02    | 0.9         |
+| D Ldc           | 2.85    | 1.0         |

mandel.b

-| D Gdc           | 29.49   | 2.4         |
+| D Gdc           | 27.40   | 2.4         |

-| D Ldc           | 24.90   | 1.4         |
+| D Ldc           | 31.21   | 1.8         |

Base64

-| D Gdc           | 2.52    | 33.3        |
+| D Gdc           | 3.04    | 54.1        |

-| D Ldc           | 3.14    | 53.1        |
+| D Ldc           | 2.01    | 54.4        |

Json

-| D Gdc Fast      | 0.34    | 226.7       |
+| D Gdc Fast      | 0.35    | 234.1       |

-| D Gdc           | 25.86   | 926.1       |
+| D Gdc           | 8.89    | 1357.2      |

-| D Ldc           | 27.23   | 919.6       |
+| D Ldc           | 7.13    | 1357.0      |

Matmul

-| D Gdc           | 2.33    | 73.0        |
+| D Gdc           | 2.30    | 73.0        |

-| D Ldc           | 2.01    | 68.9        |
+| D Ldc           | 2.17    | 73.0        |

Havlak

-| D Gdc           | 31.79   | 197.6       |
+| D Gdc           | 24.98   | 451.6       |

-| D Ldc           | 25.15   | 214.9       |
+| D Ldc           | 22.41   | 467.9       |


As we see with the json results, massive speed differences can be 
hiding ( in exchange for more memory consumption ).

Unfortunately, he has not updated DMD but i expect that we may 
see the same jump in the Json test. The Havlok results stand out 
a lot with twice the increase in memory but a relative low gain ( 
vs the memory increase ).

The LLVM results surprised with LLVM 4.0.1 not showing much 
improvement and resulting in noticeable slower times in several 
tests.
Aug 31