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.