On Friday, 30 November 2012 at 19:52:26 UTC, Jonathan M Davis
wrote:
If you're compiling with -property, filter must have the parens
for the
function call as it's a function, not a property. The !() is
for the template
arguments and is separate from the parens for the function
call. That means
that if you're compiling with -property and using UFCS, then
you end up with
range.filter!(pred)(), whereas you have range.filter!(pred).
That is it, thanks. The first project I looked at was vibe and
they used that flag so I put it in my script.
Regarding the timings, the relative orderings are the same, but
the magnitude of the difference is much more reasonable now that
I switched back to release of phobos, druntime (oops :-).
No filtering:
parallel: 0.268 sec
serial: 0.125 sec
With filtering:
parallel: 0.119 sec
serial: 0.064 sec