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

Reply via email to