Improve snocView implementation.
authorklebinger.andreas@gmx.at <klebinger.andreas@gmx.at>
Tue, 22 Jan 2019 15:17:40 +0000 (16:17 +0100)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Sat, 9 Feb 2019 17:22:13 +0000 (12:22 -0500)
commitf4d8e907b6b2e4110e1c6a21b34b1b46566ff6d5
tree10bb3f3147a713c97e854d58af70505ebcf8b3e5
parent9170daa859ca5845b95acc88d10c127fb55d66fa
Improve snocView implementation.

The new implementation isn't tailrecursive and instead
builds up the initial part of the list as it goes.

This improves allocation numbers as we don't build up an intermediate
list just to reverse it later.

This is slightly slower for lists of size <= 3. But in benchmarks
significantly faster for any list above 5 elements, assuming the
majority of the resulting list will be evaluated.
compiler/utils/Util.hs