(j3.2006) Did we intend to prohibit this?

Cohen Malcolm malcolm
Tue Mar 14 01:09:35 EDT 2017


>Since I can't tell

If you can't tell one might surmise there is no point.

> whether a processor optimizes
>
>  v = f(x)
>
>to do what
>
>  call move_alloc ( f(x), v )
>
>would obviously do,

It obviously generates an error message.  That's not what an assignment 
does.

> because instead of answering the question my request
>got shouted down

No it did not.  No-one "shouted".  No-one stopped anyone else from replying 
to your questions.  (Questions that IMO might be better addressed via your 
vendors' support channels.)

>, and I assume there aren't command-line options to
>request that a processor do it or suppress it, I can't use a profiler to
>find out if this is true.  Does anybody have profiler results, from 1/3
>million-line codes that run fifteen hours on 400 cores, to verify this?

Why on earth would you run a large code for a long time on many cores to 
verify what happens in one single statement.  It would not take very much 
code, time, or cores, to check what happens here.

>reduced the time spent in the storage allocator from 12% to 3%.  This
>observation suggested to me that answers to questions about avoiding the
>storage allocator would be useful at least to me.

If avoiding the memory allocator is your aim (and MOVE_ALLOC does not avoid 
it, but anyway), you say there is a maximum effect of 3% on your runtime. 
That does not sound worth getting all steamed up about.  Especially when a 
few simple experiments might shed light on the topic.

Cheers,
-- 
.............Malcolm Cohen, NAG Oxford/Tokyo. 




More information about the J3 mailing list