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