Hi Chris,

webrev.04 is nice an simple now. I'm ok with it.

Regards, Peter
On Feb 27, 2015 11:11 AM, "Chris Hegarty" <chris.hega...@oracle.com> wrote:

> Hi Peter,
>
> I think you are ok with this now. If so, would you mind to just taking a
> quick look at the webrev, the changes are trivial, and replying to the list.
>
> ( I want to list you as a reviewer, but don't want to do so until I know
> you are happy with the changes) .
>
> Thanks,
> -Chris.
>
> On 27/02/15 09:06, Paul Sandoz wrote:
>
>>
>> On Feb 26, 2015, at 12:38 PM, Chris Hegarty <chris.hega...@oracle.com>
>> wrote:
>>
>>  On 24 Feb 2015, at 15:07, Chris Hegarty <chris.hega...@oracle.com>
>>> wrote:
>>>
>>>  On 24 Feb 2015, at 11:45, Peter Levart <peter.lev...@gmail.com> wrote:
>>>> ...
>>>>
>>>>> That's better now. Let me just try to measure the overhead of tracking
>>>>> on simple objects to see if it actually pays off or is contra-productive 
>>>>> in
>>>>> any case.
>>>>>
>>>>
>>>> Thanks. I’ll see if I can get some measurements also.
>>>>
>>>
>>> I created a very simple benchmark [1] that deserializes a single object
>>> with no fields. Run with JDK 9 b52, on a reasonably fast machine ( results
>>> [2] ), we can see the time taken to reconstitute the simple object is
>>> relatively large compared to the measured 5ns [3] for the fence on a,
>>> slower, ARM processor. The fence should be a noop on x86 and SPARC.  When
>>> you start adding fields to object being deserialized [4] the time increases
>>> significantly.
>>>
>>> Result: 2176.895 ±(99.9%) 72.194 ns/op [Average]
>>>   Statistics: (min, avg, max) = (2131.529, 2176.895, 2287.482), stdev =
>>> 47.752
>>>   Confidence interval (99.9%): [2104.701, 2249.089]
>>>
>>> Given this, I think we should issue the fence unconditionally. A nice
>>> property of this is that custom readObjects, using Unsafe, no longer need
>>> to reason about transient final fields, they can simply use putXXX for any
>>> field.
>>>
>>> Updated, and greatly simplified, webrev:
>>>   http://cr.openjdk.java.net/~chegar/deserialFence/webrev.04/webrev/
>>>
>>>
>> A nice simplification.
>>
>>
>> On Feb 26, 2015, at 12:57 PM, Chris Hegarty <chris.hega...@oracle.com>
>> wrote:
>>
>>> I created a very simple benchmark [1] that deserializes a single object
>>>> with no fields. Run with JDK 9 b52, on a reasonably fast machine ( results
>>>> [2] ), we can see the time taken to reconstitute the simple object is
>>>> relatively large compared to the measured 5ns [3] for the fence on a,
>>>> slower, ARM processor.
>>>>
>>>
>>> Of course, this measurement was for a hotspots post construction
>>> StoreStore, we are issuing a StoreStore|StoreLoad, but the general idea is
>>> still the same, the fence is relatively insignificant, when performed per
>>> graph, compared to the cost or re-consisituing the graph.
>>>
>>
>> Yes.
>>
>> Paul.
>>
>>

Reply via email to