GHC 8.4.1-rc1 is slower on a ray-tracer project

Hello! I have a small ray-tracer project: https://bitbucket.org/varosi/cgraytrace
From time to time I'm testing it with different GHC versions including ARM.
Yesterday I successfully compiled it with GHC 8.4.1-rc1. I got compiled it with 8.2.2 and 8.0.2 as well and ran tests for about a minute each on my Intel Core i7 machine on Windows 10 x64. I got this results: GHC 8.4.1-rc1 Average time: 61.87s GHC 8.2.2 Average time: 60.09s GHC 8.0.2 Average time: 67.07s Application is doing multi-threaded brute-force ray-tracing with GI, so a lot of rays are shot around. It seems that previous GHC 8.2.2 is doing better on a high-performance application. I know that this test is too simple, but it is on a real world problem and application and not one for whole purpose of benchmarking. Any thoughts are welcome!

Vassil Ognyanov Keremidchiev
Hello!
I have a small ray-tracer project: https://bitbucket.org/varosi/cgraytrace From time to time I'm testing it with different GHC versions including ARM.
Thanks for doing these tests! I have opened #14870 to make sure we don't lose track of this. It would be interesting to bisect this to see where we went off the rails. This is a very interesting example which the Cabal file says is in the public domain. In principle it would be a nice case to include in nofib, although I suspect it has few too many dependencies. Cheers, - Ben

I don't see how 62 seconds rather than 60 is anything close to going off
the rails. Did I read something wrong? This sounds more like a minor wibble.
On Feb 28, 2018 10:32 AM, "Ben Gamari"
Vassil Ognyanov Keremidchiev
writes: Hello!
I have a small ray-tracer project: https://bitbucket.org/varosi/ cgraytrace From time to time I'm testing it with different GHC versions including ARM.
Thanks for doing these tests! I have opened #14870 to make sure we don't lose track of this. It would be interesting to bisect this to see where we went off the rails.
This is a very interesting example which the Cabal file says is in the public domain. In principle it would be a nice case to include in nofib, although I suspect it has few too many dependencies.
Cheers,
- Ben
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

Those numbers are averaged from 5-10 runs. So there is some slow down for
some reason. It's not great and it's just 3%. But I hoped that 8.4 has more
optimizations and will lead to better performance and not worse.
2018-02-28 17:47 GMT+02:00 David Feuer
I don't see how 62 seconds rather than 60 is anything close to going off the rails. Did I read something wrong? This sounds more like a minor wibble.
On Feb 28, 2018 10:32 AM, "Ben Gamari"
wrote: Vassil Ognyanov Keremidchiev
writes: Hello!
I have a small ray-tracer project: https://bitbucket.org/varosi/c graytrace From time to time I'm testing it with different GHC versions including ARM.
Thanks for doing these tests! I have opened #14870 to make sure we don't lose track of this. It would be interesting to bisect this to see where we went off the rails.
This is a very interesting example which the Cabal file says is in the public domain. In principle it would be a nice case to include in nofib, although I suspect it has few too many dependencies.
Cheers,
- Ben
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

The project could be stripped off yesod package which bring a lot
dependencies with it. In cgraytrace-exe I don't use Yesod at all.
2018-02-28 19:22 GMT+02:00 Vassil Ognyanov Keremidchiev
Those numbers are averaged from 5-10 runs. So there is some slow down for some reason. It's not great and it's just 3%. But I hoped that 8.4 has more optimizations and will lead to better performance and not worse.
2018-02-28 17:47 GMT+02:00 David Feuer
: I don't see how 62 seconds rather than 60 is anything close to going off the rails. Did I read something wrong? This sounds more like a minor wibble.
On Feb 28, 2018 10:32 AM, "Ben Gamari"
wrote: Vassil Ognyanov Keremidchiev
writes: Hello!
I have a small ray-tracer project: https://bitbucket.org/varosi/c graytrace From time to time I'm testing it with different GHC versions including ARM.
Thanks for doing these tests! I have opened #14870 to make sure we don't lose track of this. It would be interesting to bisect this to see where we went off the rails.
This is a very interesting example which the Cabal file says is in the public domain. In principle it would be a nice case to include in nofib, although I suspect it has few too many dependencies.
Cheers,
- Ben
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users

David Feuer
I don't see how 62 seconds rather than 60 is anything close to going off the rails. Did I read something wrong? This sounds more like a minor wibble.
"Off the rails" was a rhetorical flourish; indeed a single program regressing by 3% isn't a catastrophe. That being said, runtime performance improvements are hard-won prizes. Consider that the largest allocations improvement arising from the "Compiling without Continuations" paper was ~8%. Consequently, if someone comes along with a 3% regression we would remiss not to take it seriously. Cheers, - Ben
participants (3)
-
Ben Gamari
-
David Feuer
-
Vassil Ognyanov Keremidchiev