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

Reply via email to