[ https://issues.apache.org/jira/browse/MAHOUT-230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12795047#action_12795047 ]
Robin Anil commented on MAHOUT-230: ----------------------------------- I ran the SortingTest instead of 3.2 sec it now takes 5.2 seconds. I repeated the patch and rechecked. Any idea why the perf dip? Notice the perf drop in the second block i.e. after the line break in each block {code:xml|title=Original Output} <testcase time="0.016" classname="org.apache.mahout.math.SortingTest" name="testBinarySearch"/> <testcase time="0.015" classname="org.apache.mahout.math.SortingTest" name="testBinarySearchObjects"/> <testcase time="0.032" classname="org.apache.mahout.math.SortingTest" name="testQuickSortBytes"/> <testcase time="0.234" classname="org.apache.mahout.math.SortingTest" name="testQuickSortChars"/> <testcase time="0.188" classname="org.apache.mahout.math.SortingTest" name="testQuickSortInts"/> <testcase time="0.171" classname="org.apache.mahout.math.SortingTest" name="testQuickSortLongs"/> <testcase time="0.204" classname="org.apache.mahout.math.SortingTest" name="testQuickSortShorts"/> <testcase time="0.218" classname="org.apache.mahout.math.SortingTest" name="testQuickSortFloats"/> <testcase time="0.235" classname="org.apache.mahout.math.SortingTest" name="testQuickSortDoubles"/> <testcase time="0.062" classname="org.apache.mahout.math.SortingTest" name="testMergeSortBytes"/> <testcase time="0.313" classname="org.apache.mahout.math.SortingTest" name="testMergeSortChars"/> <testcase time="0.281" classname="org.apache.mahout.math.SortingTest" name="testMergeSortInts"/> <testcase time="0.391" classname="org.apache.mahout.math.SortingTest" name="testMergeSortLongs"/> <testcase time="0.25" classname="org.apache.mahout.math.SortingTest" name="testMergeSortShorts"/> <testcase time="0.359" classname="org.apache.mahout.math.SortingTest" name="testMergeSortFloats"/> <testcase time="0.328" classname="org.apache.mahout.math.SortingTest" name="testMergeSortDoubles"/> {code} {code:xml|title=After Patching} <testcase time="0.031" classname="org.apache.mahout.math.SortingTest" name="testBinarySearch"/> <testcase time="0" classname="org.apache.mahout.math.SortingTest" name="testBinarySearchObjects"/> <testcase time="0" classname="org.apache.mahout.math.SortingTest" name="testQuickSortBytes"/> <testcase time="0.234" classname="org.apache.mahout.math.SortingTest" name="testQuickSortChars"/> <testcase time="0.234" classname="org.apache.mahout.math.SortingTest" name="testQuickSortInts"/> <testcase time="0.172" classname="org.apache.mahout.math.SortingTest" name="testQuickSortLongs"/> <testcase time="0.266" classname="org.apache.mahout.math.SortingTest" name="testQuickSortShorts"/> <testcase time="0.235" classname="org.apache.mahout.math.SortingTest" name="testQuickSortFloats"/> <testcase time="0.25" classname="org.apache.mahout.math.SortingTest" name="testQuickSortDoubles"/> <testcase time="0.015" classname="org.apache.mahout.math.SortingTest" name="testMergeSortBytes"/> <testcase time="0.594" classname="org.apache.mahout.math.SortingTest" name="testMergeSortChars"/> <testcase time="0.61" classname="org.apache.mahout.math.SortingTest" name="testMergeSortInts"/> <testcase time="0.781" classname="org.apache.mahout.math.SortingTest" name="testMergeSortLongs"/> <testcase time="0.562" classname="org.apache.mahout.math.SortingTest" name="testMergeSortShorts"/> <testcase time="0.578" classname="org.apache.mahout.math.SortingTest" name="testMergeSortFloats"/> <testcase time="0.61" classname="org.apache.mahout.math.SortingTest" name="testMergeSortDoubles"/> {code} > Replace org.apache.mahout.math.Sorting with code of clear provenance > -------------------------------------------------------------------- > > Key: MAHOUT-230 > URL: https://issues.apache.org/jira/browse/MAHOUT-230 > Project: Mahout > Issue Type: Bug > Components: Math > Affects Versions: 0.3 > Reporter: Benson Margulies > Assignee: Benson Margulies > Fix For: 0.3 > > Attachments: replace-sorting.diff > > Original Estimate: 72h > Remaining Estimate: 72h > > org.apache.mahout.math.Sorting looks as if the original author borrowed from > the Sun JRE, based on the private internal function names and contents. That > code has a restrictive license. We need to take the equivalent file > (java.util.Arrays) from Apache Harmony and use it as the basis for a clean > replacement. > The problematic code are the quickSort and mergeSort functions, which extend > 'Arrays' by supporting slices of arrays and custom sorting predicate > functions. > One might also wistfully note that the more recent JDKs from Sun have > deployed different (and one hopes) better sort algorithms that 1.5 and/or > Harmony, so a really energetic person might build implementations in here to > match. However, expediency calls for just bashing on the Harmony > implementation to solve the problem at hand. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.