[
https://issues.apache.org/jira/browse/MAHOUT-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12836909#action_12836909
]
Jake Mannix commented on MAHOUT-300:
------------------------------------
New benchmark additions:
{code}INFO:
BenchMarks DenseVector RandSparseVector
SeqSparseVector Dense.fn(Rand) Dense.fn(Seq)
Rand.fn(Dense) Rand.fn(Seq) Seq.fn(Dense)
Seq.fn(Rand)
Clone
nCalls = 25000; nCalls = 25000; nCalls
= 25000;
sum = 222.609888s; sum = 0.427272s; sum =
32.833216s;
min = 4.509ms; min = 0.0030ms; min =
0.381ms;
max = 205.425ms; max = 17.397ms; max =
164.729ms;
mean = 8.904395ms; mean = 0.01709ms; mean =
1.313328ms;
stdDev = 11.839592ms; stdDev = 0.256237ms; stdDev
= 4.730696ms;
Speed = 112.30409 /sec Speed = 58510.74 /sec Speed =
761.424 /sec
Rate = 0.6738245 MB/s Rate = 351.06442 MB/s Rate =
4.568544 MB/s
Create (copy)
nCalls = 25000; nCalls = 25000; nCalls
= 25000;
sum = 153.385135s; sum = 1.316737s; sum =
0.654021s;
min = 1.291ms; min = 0.0080ms; min =
0.0ms;
max = 149.59ms; max = 18.778ms; max =
8.555ms;
mean = 6.135405ms; mean = 0.052669ms; mean =
0.02616ms;
stdDev = 9.730283ms; stdDev = 0.276396ms; stdDev
= 0.116822ms;
Speed = 162.9884 /sec Speed = 18986.328 /sec Speed =
38225.074 /sec
Rate = 0.9779304 MB/s Rate = 113.91796 MB/s Rate =
229.35042 MB/s
Create (incrementally)
nCalls = 25000; nCalls = 25000; nCalls
= 25000;
sum = 0.556807s; sum = 1.914268s; sum =
4.109328s;
min = 0.0ms; min = 0.02ms; min =
0.093ms;
max = 2.523ms; max = 184.955ms; max =
16.624ms;
mean = 0.022272ms; mean = 0.07657ms; mean =
0.164373ms;
stdDev = 0.038841ms; stdDev = 1.192837ms; stdDev
= 0.214126ms;
Speed = 44898.863 /sec Speed = 13059.822 /sec Speed =
6083.72 /sec
Rate = 269.39316 MB/s Rate = 78.35893 MB/s Rate =
36.50232 MB/s
DotProduct
nCalls = 25000; nCalls = 25000; nCalls
= 25000; nCalls = 25000; nCalls = 25000; nCalls =
25000; nCalls = 25000; nCalls = 25000; nCalls = 25000;
sum = 48.730579s; sum = 1.214007s; sum =
0.421372s; sum = 2.091561s; sum = 0.883674s; sum =
2.110771s; sum = 0.571964s; sum = 0.370673s; sum =
0.624421s;
min = 1.581ms; min = 0.0040ms; min =
0.0ms; min = 0.036ms; min = 0.0ms; min =
0.033ms; min = 0.018ms; min = 0.0ms; min =
0.019ms;
max = 14.217ms; max = 26.558ms; max =
2.628ms; max = 9.386ms; max = 8.269ms; max =
8.159ms; max = 1.525ms; max = 1.674ms; max = 7.62ms;
mean = 1.949223ms; mean = 0.04856ms; mean =
0.016854ms; mean = 0.083662ms; mean = 0.035346ms; mean =
0.08443ms; mean = 0.022878ms; mean = 0.014826ms; mean =
0.024976ms;
stdDev = 0.342952ms; stdDev = 0.216698ms; stdDev
= 0.028979ms; stdDev = 0.070128ms; stdDev = 0.065883ms; stdDev =
0.064003ms; stdDev = 0.026759ms; stdDev = 0.034967ms; stdDev =
0.059001ms;
Speed = 513.0249 /sec Speed = 20592.96 /sec Speed =
59330.0 /sec Speed = 11952.795 /sec Speed = 28290.977 /sec Speed =
11844.014 /sec Speed = 43709.043 /sec Speed = 67444.89 /sec Speed =
40037.09 /sec
Rate = 3.0781493 MB/s Rate = 123.55776 MB/s Rate =
355.97998 MB/s Rate = 71.71677 MB/s Rate = 169.74585 MB/s Rate =
71.06408 MB/s Rate = 262.25424 MB/s Rate = 404.66934 MB/s Rate =
240.22253 MB/s
org.apache.mahout.common.distance.CosineDistanceMeasure
nCalls = 25000; nCalls = 25000; nCalls
= 25000; nCalls = 25000; nCalls = 25000; nCalls =
25000; nCalls = 25000; nCalls = 25000; nCalls = 25000;
sum = 519.610621s; sum = 11.427173s; sum =
3.760684s; sum = 20.867298s; sum = 9.421122s; sum =
19.608871s; sum = 5.052896s; sum = 5.783377s; sum =
5.489122s;
min = 16.208ms; min = 0.345ms; min =
0.093ms; min = 0.684ms; min = 0.251ms; min =
0.625ms; min = 0.148ms; min = 0.165ms; min =
0.157ms;
max = 626.848ms; max = 80.046ms; max =
29.404ms; max = 91.928ms; max = 35.83ms; max =
36.961ms; max = 3.089ms; max = 7.846ms; max =
10.664ms;
mean = 20.784424ms; mean = 0.457086ms; mean =
0.150427ms; mean = 0.834691ms; mean = 0.376844ms; mean =
0.784354ms; mean = 0.202115ms; mean = 0.231335ms; mean =
0.219564ms;
stdDev = 8.10056ms; stdDev = 0.736416ms; stdDev
= 0.293471ms; stdDev = 0.98559ms; stdDev = 0.536685ms; stdDev =
0.644877ms; stdDev = 0.042781ms; stdDev = 0.072166ms; stdDev =
0.113785ms;
Speed = 48.11295 /sec Speed = 2187.7676 /sec Speed =
6647.727 /sec Speed = 1198.0469 /sec Speed = 2653.6118 /sec Speed =
1274.9332 /sec Speed = 4947.6577 /sec Speed = 4322.734 /sec Speed =
4554.4624 /sec
Rate = 0.2886777 MB/s Rate = 13.126605 MB/s Rate =
39.88636 MB/s Rate = 7.188281 MB/s Rate = 15.921671 MB/s Rate =
7.6495986 MB/s Rate = 29.685944 MB/s Rate = 25.936403 MB/s Rate =
27.326775 MB/s
org.apache.mahout.common.distance.EuclideanDistanceMeasure
nCalls = 25000; nCalls = 25000; nCalls
= 25000; nCalls = 25000; nCalls = 25000; nCalls =
25000; nCalls = 25000; nCalls = 25000; nCalls = 25000;
sum = 499.784788s; sum = 11.288858s; sum =
3.52738s; sum = 19.439231s; sum = 5.891554s; sum =
19.720618s; sum = 5.305099s; sum = 7.936919s; sum =
4.982583s;
min = 16.397ms; min = 0.351ms; min =
0.092ms; min = 0.619ms; min = 0.163ms; min =
0.685ms; min = 0.156ms; min = 0.253ms; min =
0.148ms;
max = 257.139ms; max = 21.049ms; max =
8.605ms; max = 23.782ms; max = 9.518ms; max =
9.401ms; max = 2.853ms; max = 8.218ms; max =
7.286ms;
mean = 19.991391ms; mean = 0.451554ms; mean =
0.141095ms; mean = 0.777569ms; mean = 0.235662ms; mean =
0.788824ms; mean = 0.212203ms; mean = 0.317476ms; mean =
0.199303ms;
stdDev = 4.514066ms; stdDev = 0.332325ms; stdDev
= 0.083645ms; stdDev = 0.373561ms; stdDev = 0.087087ms; stdDev =
0.209666ms; stdDev = 0.041706ms; stdDev = 0.086971ms; stdDev =
0.053ms;
Speed = 50.02153 /sec Speed = 2214.573 /sec Speed =
7087.4136 /sec Speed = 1286.0591 /sec Speed = 4243.363 /sec Speed =
1267.7087 /sec Speed = 4712.4478 /sec Speed = 3149.837 /sec Speed =
5017.478 /sec
Rate = 0.30012918 MB/s Rate = 13.287437 MB/s Rate =
42.52448 MB/s Rate = 7.7163544 MB/s Rate = 25.460175 MB/s Rate =
7.606252 MB/s Rate = 28.274685 MB/s Rate = 18.89902 MB/s Rate =
30.104868 MB/s
org.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure
nCalls = 25000; nCalls = 25000; nCalls
= 25000; nCalls = 25000; nCalls = 25000; nCalls =
25000; nCalls = 25000; nCalls = 25000; nCalls = 25000;
sum = 508.401241s; sum = 12.027223s; sum =
3.69059s; sum = 19.178181s; sum = 6.142044s; sum =
20.469989s; sum = 5.401286s; sum = 8.606827s; sum =
5.298659s;
min = 16.398ms; min = 0.35ms; min =
0.091ms; min = 0.617ms; min = 0.164ms; min = 0.69ms;
min = 0.157ms; min = 0.252ms; min = 0.148ms;
max = 133.55ms; max = 23.696ms; max =
10.698ms; max = 18.251ms; max = 8.108ms; max =
10.478ms; max = 7.638ms; max = 14.862ms; max =
4.461ms;
mean = 20.336049ms; mean = 0.481088ms; mean =
0.147623ms; mean = 0.767127ms; mean = 0.245681ms; mean =
0.818799ms; mean = 0.216051ms; mean = 0.344273ms; mean =
0.211946ms;
stdDev = 4.884008ms; stdDev = 0.479707ms; stdDev
= 0.138958ms; stdDev = 0.346367ms; stdDev = 0.124146ms; stdDev =
0.253845ms; stdDev = 0.070431ms; stdDev = 0.239597ms; stdDev =
0.099821ms;
Speed = 49.17376 /sec Speed = 2078.618 /sec Speed =
6773.985 /sec Speed = 1303.5647 /sec Speed = 4070.3062 /sec Speed = 1221.3
/sec Speed = 4628.5273 /sec Speed = 2904.6711 /sec Speed = 4718.1753 /sec
Rate = 0.29504254 MB/s Rate = 12.471706 MB/s Rate =
40.643906 MB/s Rate = 7.8213882 MB/s Rate = 24.421835 MB/s Rate =
7.3278003 MB/s Rate = 27.771162 MB/s Rate = 17.428026 MB/s Rate =
28.30905 MB/s
org.apache.mahout.common.distance.TanimotoDistanceMeasure
nCalls = 25000; nCalls = 25000; nCalls
= 25000; nCalls = 25000; nCalls = 25000; nCalls =
25000; nCalls = 25000; nCalls = 25000; nCalls = 25000;
sum = 577.91672s; sum = 10.97274s; sum =
3.52993s; sum = 18.45456s; sum = 5.71744s; sum =
23.672822s; sum = 6.857617s; sum = 10.690839s; sum =
5.134141s;
min = 16.289ms; min = 0.348ms; min =
0.092ms; min = 0.621ms; min = 0.163ms; min = 0.68ms;
min = 0.16ms; min = 0.252ms; min = 0.149ms;
max = 613.695ms; max = 20.58ms; max =
7.289ms; max = 30.631ms; max = 7.287ms; max =
47.461ms; max = 30.947ms; max = 55.628ms; max =
10.655ms;
mean = 23.116668ms; mean = 0.438909ms; mean =
0.141197ms; mean = 0.738182ms; mean = 0.228697ms; mean =
0.946912ms; mean = 0.274304ms; mean = 0.427633ms; mean =
0.205365ms;
stdDev = 15.463552ms; stdDev = 0.262454ms; stdDev
= 0.069564ms; stdDev = 0.336865ms; stdDev = 0.102889ms; stdDev =
0.988334ms; stdDev = 0.4687ms; stdDev = 0.740098ms; stdDev =
0.102672ms;
Speed = 43.25883 /sec Speed = 2278.3735 /sec Speed =
7082.2935 /sec Speed = 1354.6787 /sec Speed = 4372.5864 /sec Speed =
1056.0634 /sec Speed = 3645.5813 /sec Speed = 2338.451 /sec Speed =
4869.364 /sec
Rate = 0.25955296 MB/s Rate = 13.67024 MB/s Rate =
42.49376 MB/s Rate = 8.128072 MB/s Rate = 26.235518 MB/s Rate = 6.33638
MB/s Rate = 21.873487 MB/s Rate = 14.0307045 MB/s Rate = 29.21618 MB/s
{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.