On 3 October 2011 13:14, Philippe Mouawad <philippe.moua...@gmail.com> wrote:
> Sebb,
> Do you want me to provide a patch with ConcurrentHashMap where I will have
> to handle null keys and values (not same behaviour as HashMap) or we forget
> about this approach ?

I don't think we have yet decided how best to handle concurrent downloads.

e.g. should they even be setting cookies?

> Regards
> Philippe
>
> On Mon, Oct 3, 2011 at 1:58 PM, Philippe Mouawad <philippe.moua...@gmail.com
>> wrote:
>
>> Hello,
>> Just a little update on my test.
>> I added a clear and gc before each Map instanciation and results are
>> different:
>>
>>    - HashMapput:645
>>    - ConcurrentHashMapput:832
>>    - ConcurrentReaderHashMapput:620
>>    - HashMap get:17
>>    - ConcurrentHashMap get:32
>>    - ConcurrentReaderHashMap get:60
>>
>>
>> So it kind of closes the debate, sorry for disturbance.
>> Regards
>> Philippe
>>
>>
>>
>>
>> public class TestMap {
>>
>>     public static void main(String[] args) {
>>         StopWatch timer = new StopWatch();
>>
>>         Map map = new HashMap();
>>         testPut(timer, map, "HashMap");
>>         timer.reset();
>>
>>         map.clear();
>>         System.gc();
>>
>>         map = new ConcurrentHashMap();
>>         testPut(timer, map, "ConcurrentHashMap");
>>         timer.reset();
>>
>>         map.clear();
>>         System.gc();
>>
>>         map = new ConcurrentReaderHashMap();
>>         testPut(timer, map, "ConcurrentReaderHashMap");
>>         timer.reset();
>>
>>
>>         map.clear();
>>         System.gc();
>>
>>         map = new HashMap();
>>         testGet(timer, map, "HashMap");
>>         timer.reset();
>>
>>         map.clear();
>>         System.gc();
>>
>>         map = new ConcurrentHashMap();
>>         testGet(timer, map, "ConcurrentHashMap");
>>         timer.reset();
>>
>>         map.clear();
>>         System.gc();
>>
>>         map = new ConcurrentReaderHashMap();
>>         testGet(timer, map, "ConcurrentReaderHashMap");
>>         timer.reset();
>>     }
>>
>>     /**
>>      * @param timer
>>      */
>>     private static void testGet(StopWatch timer, Map map, String type) {
>>         timer.start();
>>         for (int i = 0; i < 1000000; i++) {
>>             map.get(i);
>>         }
>>         timer.stop();
>>         System.out.println(type+" get:"+timer.getTime());
>>     }
>>
>>     /**
>>      * @param timer
>>      */
>>     private static void testPut(StopWatch timer, Map map, String type) {
>>         timer.start();
>>         for (int i = 0; i < 1000000; i++) {
>>             map.put(i,i);
>>         }
>>         timer.stop();
>>         System.out.println(type+"put:"+timer.getTime());
>>     }
>>
>>
>> Regards
>> Philippe
>>
>>
>> On Mon, Oct 3, 2011 at 1:37 PM, sebb <seb...@gmail.com> wrote:
>>
>>> On 3 October 2011 12:15, Rainer Jung <rainer.j...@kippdata.de> wrote:
>>> > On 02.10.2011 23:17, Philippe Mouawad wrote:
>>> >> Ok, hope we can do the same.
>>> >
>>> > See https://issues.apache.org/jira/browse/XMLBEANS-447
>>> >
>>> > We are not the only people, who doubt it's correct to include that class
>>> ...
>>> >
>>> > There was also a discussion some time ago in another ASF project,
>>> > because the Sun license which is cited by Doug Lea has a "no use in
>>> > nuclear facilities clause", which make it non-usable as an Open Source
>>> > license.
>>> >
>>> > It looks like we are stuck here.
>>>
>>> Yes, apart from the binary option which brings in lots of unneeded code.
>>>
>>> > And the mentioning of the Harmony class in the above cited issue is a
>>> > red herring. Diffing it with the JDK 5 standard ConcurrentHashMap shows
>>> > little difference, so I doubt it will be much faster (though I didn't
>>> > inspect the delta in detail).
>>>
>>> I think the Harmony class was only mentioned as a means of supporting
>>> Java 1.4, not as an alternative faster implementation.
>>>
>>> >> I must say I don't understand why ConcurrentReaderHashMap is not in
>>> JDK.
>>> >
>>> > There's a discussion list for JSR166 (the concurrency stuff lead by Doug
>>> > Lea) mentioned on the JSR 166 page maintained by Doug Lea. So maybe you
>>> > can post a technical question there (what's the right class that solve
>>> > the following problem ... and doesn't have sun licensing restrictions).
>>> >
>>> > Regards,
>>> >
>>> > Rainer
>>> >
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: dev-unsubscr...@jakarta.apache.org
>>> > For additional commands, e-mail: dev-h...@jakarta.apache.org
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@jakarta.apache.org
>>> For additional commands, e-mail: dev-h...@jakarta.apache.org
>>>
>>>
>>
>>
>> --
>> Cordialement.
>> Philippe Mouawad.
>>
>>
>>
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@jakarta.apache.org
For additional commands, e-mail: dev-h...@jakarta.apache.org

Reply via email to