Why do memcpy and memmove both exist?  Why did C99 introduce restrict?  Why
does Fortran prohibit aliasing?

I have measured the benefits of restrict semantics w.r.t. vectorization
many times in the past, enough that I did not bother to benchmark this
specific case.

Jeff

On Wed, Nov 11, 2015 at 8:02 AM, Dave Goodell (dgoodell) <[email protected]
> wrote:

> On Nov 11, 2015, at 9:47 AM, Jeff Hammond <[email protected]> wrote:
>
> > Is there a reason why buf and result can't be restrict pointers?  I see
> zero value in enabling the case of aliased local buffers when the side
> effects are (1) a const buffer is modified and (2) the potential code
> optimization demonstrated in my pull request is disallowed (without
> specializing the macro for the aliased and non-aliased cases, of course).
>
> Let's flip that around: do you have any empirical evidence that this API
> design decision is actually affecting performance in a noticeable way?  "I
> would like it to look differently, and I *think* there's optimization
> potential" is a weak argument.
>
> -Dave
>
>


-- 
Jeff Hammond
[email protected]
http://jeffhammond.github.io/
_______________________________________________
ofiwg mailing list
[email protected]
http://lists.openfabrics.org/mailman/listinfo/ofiwg

Reply via email to