[ https://issues.apache.org/jira/browse/MAHOUT-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12836815#action_12836815 ]
Jake Mannix commented on MAHOUT-300: ------------------------------------ With these opts: -vs 500000 -sp 500 -nv 50 -l 500 -no 10 Dot product looks more sensible. Executive summary: fastest is SequentialAccess.dot(Dense), clocking in at 69,246 units/s, which is as expected. Leaderboard for dotProduct: {code} Seq.dot(Den) : 69,246 units/s Seq.dot(Seq) : 63,958 units/s Seq.dot(Rnd) : 49,638 units/s Rnd.dot(Seq) : 39,019 units/s Den.dot(Seq) : 30,337 units/s Rnd.dot(Rnd) : 5,320 units/s Den.dot(Rnd) : 5,177 units/s Rnd.dot(Den) : 5,101 units/s Den.dot(Den) : 516 units/s {code} {code} INFO: DotProduct DenseVector sum = 48.442942s; min = 1.554ms; max = 32.55ms; mean = 1.937717ms; stdDev = 0.55081ms; Speed: 516.07104 UnitsProcessed/sec 3.0964262 MBytes/sec INFO: DotProduct RandSparseVector sum = 4.69924s; min = 0.116ms; max = 24.211ms; mean = 0.187969ms; stdDev = 0.343685ms; Speed: 5320.0093 UnitsProcessed/sec 31.920053 MBytes/sec INFO: DotProduct SeqSparseVector sum = 0.390877s; min = 0.012ms; max = 2.698ms; mean = 0.015635ms; stdDev = 0.037619ms; Speed: 63958.742 UnitsProcessed/sec 383.7524 MBytes/sec INFO: DotProduct Dense.dot(Rand) sum = 4.828592s; min = 0.137ms; max = 4.09ms; mean = 0.193143ms; stdDev = 0.052169ms; Speed: 5177.4927 UnitsProcessed/sec 31.064955 MBytes/sec INFO: DotProduct Dense.dot(Seq) sum = 0.823286s; min = 0.0ms; max = 4.606ms; mean = 0.032931ms; stdDev = 0.03774ms; Speed: 30366.117 UnitsProcessed/sec 182.1967 MBytes/sec INFO: DotProduct Rand.dot(Dense) sum = 4.900044s; min = 0.14ms; max = 3.969ms; mean = 0.196001ms; stdDev = 0.056772ms; Speed: 5101.995 UnitsProcessed/sec 30.61197 MBytes/sec INFO: DotProduct Rand.dot(Seq) sum = 0.640713s; min = 0.0ms; max = 2.253ms; mean = 0.025628ms; stdDev = 0.041805ms; Speed: 39019.027 UnitsProcessed/sec 234.11417 MBytes/sec INFO: DotProduct Seq.dot(Dense) sum = 0.361031s; min = 0.0ms; max = 4.63ms; mean = 0.014441ms; stdDev = 0.040413ms; Speed: 69246.13 UnitsProcessed/sec 415.47675 MBytes/sec INFO: DotProduct Seq.dot(Rand) sum = 0.503642s; min = 0.0090ms; max = 5.203ms; mean = 0.020145ms; stdDev = 0.05134ms; Speed: 49638.434 UnitsProcessed/sec 297.8306 MBytes/sec {code} > Solve performance issues with Vector Implementations > ---------------------------------------------------- > > Key: MAHOUT-300 > URL: https://issues.apache.org/jira/browse/MAHOUT-300 > Project: Mahout > Issue Type: Improvement > Affects Versions: 0.3 > Reporter: Robin Anil > Fix For: 0.3 > > Attachments: MAHOUT-300.patch, MAHOUT-300.patch, MAHOUT-300.patch, > MAHOUT-300.patch, MAHOUT-300.patch, MAHOUT-300.patch, MAHOUT-300.patch, > MAHOUT-300.patch, MAHOUT-300.patch > > > AbstractVector operations like times > public Vector times(double x) { > Vector result = clone(); > Iterator<Element> iter = iterateNonZero(); > while (iter.hasNext()) { > Element element = iter.next(); > int index = element.index(); > result.setQuick(index, element.get() * x); > } > return result; > } > should be implemented as follows > public Vector times(double x) { > Vector result = clone(); > Iterator<Element> iter = result.iterateNonZero(); > while (iter.hasNext()) { > Element element = iter.next(); > element.set(element.get() * x); > } > return result; > } -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.