You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Michael Mikhulya (JIRA)" <ji...@apache.org> on 2014/05/19 18:42:38 UTC

[jira] [Created] (TAP5-2335) Decrease number of operations with HashMap #2

Michael Mikhulya created TAP5-2335:
--------------------------------------

             Summary: Decrease number of operations with HashMap #2
                 Key: TAP5-2335
                 URL: https://issues.apache.org/jira/browse/TAP5-2335
             Project: Tapestry 5
          Issue Type: Improvement
            Reporter: Michael Mikhulya


During profiling of tapestry framework I found that HashMap is actively used in following code:

{code:title=NamedSet.java}
public void eachValue(Worker<T> worker)
    {
        F.flow(getValues()).each(worker);
    }
{code}

Here HashSet (which internally uses HashMap) is created inside getValues() only to iterate over it.
I changed code to use ArrayList instead of HashSet.

With following patch time per request decreased on 3.5 ms (7.4% of overall time). Measurements were done with apache benchmark on a real application after warm up phase.



--
This message was sent by Atlassian JIRA
(v6.2#6252)