You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by "Aleksey Shipilev (JIRA)" <ji...@apache.org> on 2008/08/03 22:27:44 UTC

[jira] Created: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

[classlib][pack200][performance] Segment.computeIcStored rewrite
----------------------------------------------------------------

                 Key: HARMONY-5929
                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
             Project: Harmony
          Issue Type: Improvement
          Components: Classlib
         Environment: Latest pack200
            Reporter: Aleksey Shipilev


Current implementation of Segment.computeIcStored is heavily inefficient.
This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Shipilev updated HARMONY-5929:
--------------------------------------

    Attachment: pack200-computeIcStored-v2.patch

pack200-computeIcStored-v2.patch
 - reworked, OR -> XOR

Passes embedded pack200 JUnit tests.
If my implication is correct, then this patch should fix the problem during long run, though I have no time to test it now.

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>         Attachments: DriverManagerTest.BadDummyDriver.out, pack200-computeIcStored-v1.patch, pack200-computeIcStored-v2.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Shipilev closed HARMONY-5929.
-------------------------------------


Thanks, Sian.
Applied OK.

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>             Fix For: 5.0M8
>
>         Attachments: DriverManagerTest.BadDummyDriver.out, pack200-computeIcStored-v1.patch, pack200-computeIcStored-v2.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622350#action_12622350 ] 

Aleksey Shipilev commented on HARMONY-5929:
-------------------------------------------

Aha! It seems my code is not semantically equivalent to original code. Given the ic_local and Ic_relevant sets (they're lists backed by sets):
 - original code computes: result = ic_local XOR ic_relevant [1]
 - my code computes: result = ic_local OR ic_relevant

Hence the excess lines in the log I guess. 
Sian, could you please confirm that XOR is really required?

[1] That's deduced from
        for(int i = 0; i < resultCopy.size(); i++) {
            IcTuple tuple = (IcTuple) resultCopy.get(i);
            if (localList.contains(tuple) && relevantList.contains(tuple)) {
                while (result.remove(tuple));
            }
        }

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>         Attachments: DriverManagerTest.BadDummyDriver.out, pack200-computeIcStored-v1.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Sian January (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sian January resolved HARMONY-5929.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 5.0M8

Patch applied at r689101.  Please check that it was applied as you expected.

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>             Fix For: 5.0M8
>
>         Attachments: DriverManagerTest.BadDummyDriver.out, pack200-computeIcStored-v1.patch, pack200-computeIcStored-v2.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Sian January (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12622492#action_12622492 ] 

Sian January commented on HARMONY-5929:
---------------------------------------

Thanks Aleksey - v2 works.  I will check it in after the code freeze.

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>         Attachments: DriverManagerTest.BadDummyDriver.out, pack200-computeIcStored-v1.patch, pack200-computeIcStored-v2.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Sian January (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sian January reassigned HARMONY-5929:
-------------------------------------

    Assignee: Sian January

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>         Attachments: pack200-computeIcStored-v1.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Sian January (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sian January updated HARMONY-5929:
----------------------------------

    Attachment: DriverManagerTest.BadDummyDriver.out

As mentioned on the dev list this isn't always producing correct class files.  It looks like there's some extra information being added to inner-class class files when there are multiple inner classes.  E.g for the attached javap output file lines 5 and 33 should not be there.

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>            Assignee: Sian January
>         Attachments: DriverManagerTest.BadDummyDriver.out, pack200-computeIcStored-v1.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (HARMONY-5929) [classlib][pack200][performance] Segment.computeIcStored rewrite

Posted by "Aleksey Shipilev (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HARMONY-5929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Aleksey Shipilev updated HARMONY-5929:
--------------------------------------

    Attachment: pack200-computeIcStored-v1.patch

pack200-computeIcStored-v1.patch
Proposed patch.

Passes JUnit tests for pack200.
Gives +3% to unpacking scenario.

> [classlib][pack200][performance] Segment.computeIcStored rewrite
> ----------------------------------------------------------------
>
>                 Key: HARMONY-5929
>                 URL: https://issues.apache.org/jira/browse/HARMONY-5929
>             Project: Harmony
>          Issue Type: Improvement
>          Components: Classlib
>         Environment: Latest pack200
>            Reporter: Aleksey Shipilev
>         Attachments: pack200-computeIcStored-v1.patch
>
>
> Current implementation of Segment.computeIcStored is heavily inefficient.
> This issue rewrites this method from scratch.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.