[
https://issues.apache.org/jira/browse/MAHOUT-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12836468#action_12836468
]
Jake Mannix commented on MAHOUT-300:
------------------------------------
Ok, went away... probably a case of pebkac
{code}
org.apache.mahout.benchmark.VectorBenchmarks -vs 50000 -sp 1000 -nv 50 -l 100
-no 5
Feb 21, 2010 2:43:06 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Create (copy) DenseVector
nCalls = 5000;
sumTime = 3.585996s;
minTime = 0.12ms;
maxTime = 54.331ms;
meanTime = 0.717199ms;
stdDevTime = 3.823725ms;
Speed: 1394.3127 UnitsProcessed/sec 836.58765 MBytes/sec
Feb 21, 2010 2:43:07 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Create (copy) RandomAccessSparseVector
nCalls = 5000;
sumTime = 0.953957s;
minTime = 0.115ms;
maxTime = 97.032ms;
meanTime = 0.190791ms;
stdDevTime = 1.489048ms;
Speed: 5241.326 UnitsProcessed/sec 3144.796 MBytes/sec
Feb 21, 2010 2:43:08 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Create (copy) SequentialAccessSparseVector
nCalls = 5000;
sumTime = 0.278149s;
minTime = 0.0090ms;
maxTime = 8.032ms;
meanTime = 0.055629ms;
stdDevTime = 0.149567ms;
Speed: 17975.977 UnitsProcessed/sec 10785.587 MBytes/sec
Feb 21, 2010 2:43:11 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Create (incrementally) DenseVector
nCalls = 5000;
sumTime = 0.059921s;
minTime = 0.0040ms;
maxTime = 0.251ms;
meanTime = 0.011984ms;
stdDevTime = 0.009846ms;
Speed: 83443.195 UnitsProcessed/sec 50065.92 MBytes/sec
Feb 21, 2010 2:43:12 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Create (incrementally) RandomAccessSparseVector
nCalls = 5000;
sumTime = 0.268465s;
minTime = 0.021ms;
maxTime = 3.14ms;
meanTime = 0.053693ms;
stdDevTime = 0.047671ms;
Speed: 18624.402 UnitsProcessed/sec 11174.642 MBytes/sec
Feb 21, 2010 2:43:15 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Create (incrementally) SequentialAccessSparseVector
nCalls = 5000;
sumTime = 2.172348s;
minTime = 0.356ms;
maxTime = 6.754ms;
meanTime = 0.434469ms;
stdDevTime = 0.198236ms;
Speed: 2301.657 UnitsProcessed/sec 1380.9943 MBytes/sec
Feb 21, 2010 2:43:18 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Clone DenseVector
nCalls = 5000;
sumTime = 3.192205s;
minTime = 0.211ms;
maxTime = 517.68ms;
meanTime = 0.638441ms;
stdDevTime = 7.573187ms;
Speed: 1566.3154 UnitsProcessed/sec 939.78925 MBytes/sec
Feb 21, 2010 2:43:18 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Clone RandomAccessSparseVector
nCalls = 5000;
sumTime = 0.521343s;
minTime = 0.048ms;
maxTime = 22.281ms;
meanTime = 0.104268ms;
stdDevTime = 0.693174ms;
Speed: 9590.614 UnitsProcessed/sec 5754.369 MBytes/sec
Feb 21, 2010 2:43:19 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: Clone SequentialAccessSparseVector
nCalls = 5000;
sumTime = 0.56215s;
minTime = 0.016ms;
maxTime = 20.333ms;
meanTime = 0.11243ms;
stdDevTime = 0.70505ms;
Speed: 8894.423 UnitsProcessed/sec 5336.654 MBytes/sec
Feb 21, 2010 2:43:20 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: DotProduct DenseVector
sum = -5423.620877902339
nCalls = 5000;
sumTime = 1.07412s;
minTime = 0.137ms;
maxTime = 13.189ms;
meanTime = 0.214824ms;
stdDevTime = 0.228647ms;
Speed: 4654.9736 UnitsProcessed/sec 2792.9841 MBytes/sec
Feb 21, 2010 2:43:21 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: DotProduct RandomAccessSparseVector
sum = -5564.910676620138
nCalls = 5000;
sumTime = 0.890045s;
minTime = 0.051ms;
maxTime = 316.842ms;
meanTime = 0.178009ms;
stdDevTime = 4.501319ms;
Speed: 5617.6934 UnitsProcessed/sec 3370.6162 MBytes/sec
Feb 21, 2010 2:43:21 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: DotProduct SequentialAccessSparseVector
sum = -5233.180796033902
nCalls = 5000;
sumTime = 0.215025s;
minTime = 0.026ms;
maxTime = 1.744ms;
meanTime = 0.043005ms;
stdDevTime = 0.084628ms;
Speed: 23253.111 UnitsProcessed/sec 13951.867 MBytes/sec
Feb 21, 2010 2:43:29 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.CosineDistanceMeasure DenseVector
minDistance = 4475.855202291762
nCalls = 5000;
sumTime = 7.735503s;
minTime = 1.368ms;
maxTime = 9.961ms;
meanTime = 1.5471ms;
stdDevTime = 0.198466ms;
Speed: 646.37036 UnitsProcessed/sec 387.82224 MBytes/sec
Feb 21, 2010 2:43:35 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.CosineDistanceMeasure
RandomAccessSparseVector
minDistance = 4476.713744856023
nCalls = 5000;
sumTime = 6.548142s;
minTime = 1.175ms;
maxTime = 16.329ms;
meanTime = 1.309628ms;
stdDevTime = 0.43387ms;
Speed: 763.5754 UnitsProcessed/sec 458.14523 MBytes/sec
Feb 21, 2010 2:43:37 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.CosineDistanceMeasure
SequentialAccessSparseVector
minDistance = 4476.265335106043
nCalls = 5000;
sumTime = 2.016846s;
minTime = 0.35ms;
maxTime = 2.509ms;
meanTime = 0.403369ms;
stdDevTime = 0.068028ms;
Speed: 2479.1184 UnitsProcessed/sec 1487.4711 MBytes/sec
Feb 21, 2010 2:43:41 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure
DenseVector
minDistance = 8484886.956608202
nCalls = 5000;
sumTime = 3.524636s;
minTime = 0.494ms;
maxTime = 15.583ms;
meanTime = 0.704927ms;
stdDevTime = 0.299524ms;
Speed: 1418.5862 UnitsProcessed/sec 851.15173 MBytes/sec
Feb 21, 2010 2:43:44 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure
RandomAccessSparseVector
minDistance = 8511604.21909139
nCalls = 5000;
sumTime = 2.813478s;
minTime = 0.358ms;
maxTime = 12.641ms;
meanTime = 0.562695ms;
stdDevTime = 0.390631ms;
Speed: 1777.1598 UnitsProcessed/sec 1066.2959 MBytes/sec
Feb 21, 2010 2:43:46 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure
SequentialAccessSparseVector
minDistance = 8493975.604847223
nCalls = 5000;
sumTime = 2.581409s;
minTime = 0.107ms;
maxTime = 6.111ms;
meanTime = 0.516281ms;
stdDevTime = 0.185559ms;
Speed: 1936.9266 UnitsProcessed/sec 1162.156 MBytes/sec
Feb 21, 2010 2:43:52 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.EuclideanDistanceMeasure DenseVector
minDistance = 195394.60246379836
nCalls = 5000;
sumTime = 5.305836s;
minTime = 0.498ms;
maxTime = 15.373ms;
meanTime = 1.061167ms;
stdDevTime = 0.424037ms;
Speed: 942.3585 UnitsProcessed/sec 565.41516 MBytes/sec
Feb 21, 2010 2:43:55 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.EuclideanDistanceMeasure
RandomAccessSparseVector
minDistance = 195702.05210046135
nCalls = 5000;
sumTime = 3.496844s;
minTime = 0.322ms;
maxTime = 9.142ms;
meanTime = 0.699368ms;
stdDevTime = 0.218266ms;
Speed: 1429.8607 UnitsProcessed/sec 857.91644 MBytes/sec
Feb 21, 2010 2:43:58 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.EuclideanDistanceMeasure
SequentialAccessSparseVector
minDistance = 195499.20347174452
nCalls = 5000;
sumTime = 2.833197s;
minTime = 0.08ms;
maxTime = 1.996ms;
meanTime = 0.566639ms;
stdDevTime = 0.15453ms;
Speed: 1764.7908 UnitsProcessed/sec 1058.8745 MBytes/sec
Feb 21, 2010 2:44:12 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.ManhattanDistanceMeasure DenseVector
minDistance = 6904798.339888407
nCalls = 5000;
sumTime = 14.467698s;
minTime = 2.166ms;
maxTime = 18.034ms;
meanTime = 2.893539ms;
stdDevTime = 1.357886ms;
Speed: 345.59747 UnitsProcessed/sec 207.3585 MBytes/sec
Feb 21, 2010 2:44:21 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.ManhattanDistanceMeasure
RandomAccessSparseVector
minDistance = 6908061.128455167
nCalls = 5000;
sumTime = 8.068168s;
minTime = 1.329ms;
maxTime = 40.717ms;
meanTime = 1.613633ms;
stdDevTime = 0.89013ms;
Speed: 619.71936 UnitsProcessed/sec 371.83163 MBytes/sec
Feb 21, 2010 2:44:42 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.ManhattanDistanceMeasure
SequentialAccessSparseVector
minDistance = 6909161.286918712
nCalls = 5000;
sumTime = 21.172712s;
minTime = 3.703ms;
maxTime = 32.462ms;
meanTime = 4.234542ms;
stdDevTime = 0.84691ms;
Speed: 236.15303 UnitsProcessed/sec 141.69182 MBytes/sec
Feb 21, 2010 2:44:50 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.TanimotoDistanceMeasure DenseVector
minDistance = 4487.889064527803
nCalls = 5000;
sumTime = 8.488277s;
minTime = 1.402ms;
maxTime = 11.97ms;
meanTime = 1.697655ms;
stdDevTime = 0.269871ms;
Speed: 589.04767 UnitsProcessed/sec 353.42862 MBytes/sec
Feb 21, 2010 2:44:56 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.TanimotoDistanceMeasure
RandomAccessSparseVector
minDistance = 4488.320476909599
nCalls = 5000;
sumTime = 5.47074s;
minTime = 0.977ms;
maxTime = 10.987ms;
meanTime = 1.094148ms;
stdDevTime = 0.368053ms;
Speed: 913.9531 UnitsProcessed/sec 548.3719 MBytes/sec
Feb 21, 2010 2:44:59 PM org.slf4j.impl.JCLLoggerAdapter info
INFO: org.apache.mahout.common.distance.TanimotoDistanceMeasure
SequentialAccessSparseVector
minDistance = 4488.154156919953
nCalls = 5000;
sumTime = 3.543727s;
minTime = 0.597ms;
maxTime = 8.928ms;
meanTime = 0.708745ms;
stdDevTime = 0.161759ms;
Speed: 1410.9438 UnitsProcessed/sec 846.56635 MBytes/sec
Feb 21, 2010 2:44:59 PM org.slf4j.impl.JCLLoggerAdapter info
INFO:
BenchMarks DenseVector
RandomAccessSparseVector SequentialAccessSparseVector
Clone
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 3.192205s; sumTime =
0.521343s; sumTime = 0.56215s;
minTime = 0.211ms; minTime = 0.048ms;
minTime = 0.016ms;
maxTime = 517.68ms; maxTime = 22.281ms;
maxTime = 20.333ms;
meanTime = 0.638441ms; meanTime =
0.104268ms; meanTime = 0.11243ms;
stdDevTime = 7.573187ms; stdDevTime =
0.693174ms; stdDevTime = 0.70505ms;
Speed = 1566.3154 /sec Speed = 9590.614
/sec Speed = 8894.423 /sec
Rate = 939.78925 MB/s Rate = 5754.369
MB/s Rate = 5336.654 MB/s
Create (copy)
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 3.585996s; sumTime =
0.953957s; sumTime = 0.278149s;
minTime = 0.12ms; minTime = 0.115ms;
minTime = 0.0090ms;
maxTime = 54.331ms; maxTime = 97.032ms;
maxTime = 8.032ms;
meanTime = 0.717199ms; meanTime =
0.190791ms; meanTime = 0.055629ms;
stdDevTime = 3.823725ms; stdDevTime =
1.489048ms; stdDevTime = 0.149567ms;
Speed = 1394.3127 /sec Speed = 5241.326
/sec Speed = 17975.977 /sec
Rate = 836.58765 MB/s Rate = 3144.796
MB/s Rate = 10785.587 MB/s
Create (incrementally)
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 0.059921s; sumTime =
0.268465s; sumTime = 2.172348s;
minTime = 0.0040ms; minTime = 0.021ms;
minTime = 0.356ms;
maxTime = 0.251ms; maxTime = 3.14ms;
maxTime = 6.754ms;
meanTime = 0.011984ms; meanTime =
0.053693ms; meanTime = 0.434469ms;
stdDevTime = 0.009846ms; stdDevTime =
0.047671ms; stdDevTime = 0.198236ms;
Speed = 83443.195 /sec Speed = 18624.402
/sec Speed = 2301.657 /sec
Rate = 50065.92 MB/s Rate = 11174.642
MB/s Rate = 1380.9943 MB/s
DotProduct
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 1.07412s; sumTime =
0.890045s; sumTime = 0.215025s;
minTime = 0.137ms; minTime = 0.051ms;
minTime = 0.026ms;
maxTime = 13.189ms; maxTime =
316.842ms; maxTime = 1.744ms;
meanTime = 0.214824ms; meanTime =
0.178009ms; meanTime = 0.043005ms;
stdDevTime = 0.228647ms; stdDevTime =
4.501319ms; stdDevTime = 0.084628ms;
Speed = 4654.9736 /sec Speed = 5617.6934
/sec Speed = 23253.111 /sec
Rate = 2792.9841 MB/s Rate = 3370.6162
MB/s Rate = 13951.867 MB/s
org.apache.mahout.common.distance.CosineDistanceMeasure
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 7.735503s; sumTime =
6.548142s; sumTime = 2.016846s;
minTime = 1.368ms; minTime = 1.175ms;
minTime = 0.35ms;
maxTime = 9.961ms; maxTime = 16.329ms;
maxTime = 2.509ms;
meanTime = 1.5471ms; meanTime =
1.309628ms; meanTime = 0.403369ms;
stdDevTime = 0.198466ms; stdDevTime =
0.43387ms; stdDevTime = 0.068028ms;
Speed = 646.37036 /sec Speed = 763.5754
/sec Speed = 2479.1184 /sec
Rate = 387.82224 MB/s Rate = 458.14523
MB/s Rate = 1487.4711 MB/s
org.apache.mahout.common.distance.EuclideanDistanceMeasure
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 5.305836s; sumTime =
3.496844s; sumTime = 2.833197s;
minTime = 0.498ms; minTime = 0.322ms;
minTime = 0.08ms;
maxTime = 15.373ms; maxTime = 9.142ms;
maxTime = 1.996ms;
meanTime = 1.061167ms; meanTime =
0.699368ms; meanTime = 0.566639ms;
stdDevTime = 0.424037ms; stdDevTime =
0.218266ms; stdDevTime = 0.15453ms;
Speed = 942.3585 /sec Speed = 1429.8607
/sec Speed = 1764.7908 /sec
Rate = 565.41516 MB/s Rate = 857.91644
MB/s Rate = 1058.8745 MB/s
org.apache.mahout.common.distance.ManhattanDistanceMeasure
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 14.467698s; sumTime =
8.068168s; sumTime = 21.172712s;
minTime = 2.166ms; minTime = 1.329ms;
minTime = 3.703ms;
maxTime = 18.034ms; maxTime = 40.717ms;
maxTime = 32.462ms;
meanTime = 2.893539ms; meanTime =
1.613633ms; meanTime = 4.234542ms;
stdDevTime = 1.357886ms; stdDevTime =
0.89013ms; stdDevTime = 0.84691ms;
Speed = 345.59747 /sec Speed = 619.71936
/sec Speed = 236.15303 /sec
Rate = 207.3585 MB/s Rate = 371.83163
MB/s Rate = 141.69182 MB/s
org.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 3.524636s; sumTime =
2.813478s; sumTime = 2.581409s;
minTime = 0.494ms; minTime = 0.358ms;
minTime = 0.107ms;
maxTime = 15.583ms; maxTime = 12.641ms;
maxTime = 6.111ms;
meanTime = 0.704927ms; meanTime =
0.562695ms; meanTime = 0.516281ms;
stdDevTime = 0.299524ms; stdDevTime =
0.390631ms; stdDevTime = 0.185559ms;
Speed = 1418.5862 /sec Speed = 1777.1598
/sec Speed = 1936.9266 /sec
Rate = 851.15173 MB/s Rate = 1066.2959
MB/s Rate = 1162.156 MB/s
org.apache.mahout.common.distance.TanimotoDistanceMeasure
nCalls = 5000; nCalls = 5000;
nCalls = 5000;
sumTime = 8.488277s; sumTime = 5.47074s;
sumTime = 3.543727s;
minTime = 1.402ms; minTime = 0.977ms;
minTime = 0.597ms;
maxTime = 11.97ms; maxTime = 10.987ms;
maxTime = 8.928ms;
meanTime = 1.697655ms; meanTime =
1.094148ms; meanTime = 0.708745ms;
stdDevTime = 0.269871ms; stdDevTime =
0.368053ms; stdDevTime = 0.161759ms;
Speed = 589.04767 /sec Speed = 913.9531
/sec Speed = 1410.9438 /sec
Rate = 353.42862 MB/s Rate = 548.3719
MB/s Rate = 846.56635 MB/s
Process finished with exit code 0
{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
>
>
> 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.