[
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.