[ 
https://issues.apache.org/jira/browse/MAHOUT-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12836460#action_12836460
 ] 

Jake Mannix commented on MAHOUT-300:
------------------------------------

Another run, even more sparse: cardinality: 500,000, density: 100, only 50 
vectors this time, because I was running out of memory, 100 loops:

{code}INFO: 
BenchMarks                    DenseVector                   
RandomAccessSparseVector      SequentialAccessSparseVector  
Clone                                                                           
                                        
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 41.899077s;         sumTime = 
6.736452s;          sumTime = 6.268572s;          
                              minTime = 4.593ms;            minTime = 0.453ms;  
          minTime = 0.415ms;            
                              maxTime = 186.272ms;          maxTime = 
183.524ms;          maxTime = 187.254ms;          
                              meanTime = 8.379815ms;        meanTime = 
1.34729ms;         meanTime = 1.253714ms;        
                              stdDevTime = 11.260108ms;     stdDevTime = 
4.647302ms;      stdDevTime = 4.992136ms;      
                              Speed = 119.334366 /sec       Speed = 742.23047 
/sec        Speed = 797.6298 /sec         
                              Rate = -514.0831 MB/s         Rate = -3197.471 
MB/s         Rate = -3436.127 MB/s         

Create (copy)                                                                   
                                        
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 33.213833s;         sumTime = 0.14521s; 
          sumTime = 0.035935s;          
                              minTime = 1.643ms;            minTime = 0.011ms;  
          minTime = 0.0040ms;           
                              maxTime = 139.441ms;          maxTime = 18.174ms; 
          maxTime = 1.431ms;            
                              meanTime = 6.642766ms;        meanTime = 
0.029042ms;        meanTime = 0.007187ms;        
                              stdDevTime = 11.24469ms;      stdDevTime = 
0.349996ms;      stdDevTime = 0.030313ms;      
                              Speed = 150.53969 /sec        Speed = 34432.89 
/sec         Speed = 139140.11 /sec        
                              Rate = -648.5132 MB/s         Rate = -148334.2 
MB/s         Rate = -599404.75 MB/s        

Create (incrementally)                                                          
                                        
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 0.04538s;           sumTime = 
0.035935s;          sumTime = 0.089474s;          
                              minTime = 0.0ms;              minTime = 0.0ms;    
          minTime = 0.0ms;              
                              maxTime = 0.172ms;            maxTime = 1.201ms;  
          maxTime = 0.612ms;            
                              meanTime = 0.009076ms;        meanTime = 
0.007187ms;        meanTime = 0.017894ms;        
                              stdDevTime = 0.006338ms;      stdDevTime = 
0.023144ms;      stdDevTime = 0.016724ms;      
                              Speed = 110180.695 /sec       Speed = 139140.11 
/sec        Speed = 55882.156 /sec        
                              Rate = -474649.8 MB/s         Rate = -599404.75 
MB/s        Rate = -240735.95 MB/s        

DotProduct                                                                      
                                        
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 5.036773s;          sumTime = 
0.510658s;          sumTime = 0.063884s;          
                              minTime = 0.848ms;            minTime = 0.047ms;  
          minTime = 0.0020ms;           
                              maxTime = 7.558ms;            maxTime = 8.919ms;  
          maxTime = 0.325ms;            
                              meanTime = 1.007354ms;        meanTime = 
0.102131ms;        meanTime = 0.012776ms;        
                              stdDevTime = 0.203069ms;      stdDevTime = 
0.19957ms;       stdDevTime = 0.024669ms;      
                              Speed = 992.6991 /sec         Speed = 9791.289 
/sec         Speed = 78266.86 /sec         
                              Rate = -4276.47 MB/s          Rate = -42180.11 
MB/s         Rate = -337167.5 MB/s         

org.apache.mahout.common.distance.CosineDistanceMeasure                         
                                                                 
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 29.883311s;         sumTime = 
2.141407s;          sumTime = 0.112809s;          
                              minTime = 5.362ms;            minTime = 0.362ms;  
          minTime = 0.015ms;            
                              maxTime = 22.912ms;           maxTime = 9.322ms;  
          maxTime = 14.899ms;           
                              meanTime = 5.976662ms;        meanTime = 
0.428281ms;        meanTime = 0.022561ms;        
                              stdDevTime = 0.764279ms;      stdDevTime = 
0.133002ms;      stdDevTime = 0.216971ms;      
                              Speed = 167.31747 /sec        Speed = 2334.9133 
/sec        Speed = 44322.703 /sec        
                              Rate = -720.7906 MB/s         Rate = -10058.625 
MB/s        Rate = -190938.75 MB/s        

org.apache.mahout.common.distance.EuclideanDistanceMeasure                      
                                                                    
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 11.211339s;         sumTime = 
0.830761s;          sumTime = 0.100585s;          
                              minTime = 1.791ms;            minTime = 0.116ms;  
          minTime = 0.0040ms;           
                              maxTime = 5.327ms;            maxTime = 2.808ms;  
          maxTime = 0.235ms;            
                              meanTime = 2.242267ms;        meanTime = 
0.166152ms;        meanTime = 0.020117ms;        
                              stdDevTime = 0.206909ms;      stdDevTime = 
0.050465ms;      stdDevTime = 0.006688ms;      
                              Speed = 445.97705 /sec        Speed = 6018.5776 
/sec        Speed = 49709.2 /sec          
                              Rate = -1921.2344 MB/s        Rate = -25927.562 
MB/s        Rate = -214143.36 MB/s        

org.apache.mahout.common.distance.ManhattanDistanceMeasure                      
                                                                    
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 79.638441s;         sumTime = 
10.13851s;          sumTime = 7.503073s;          
                              minTime = 13.119ms;           minTime = 1.309ms;  
          minTime = 0.756ms;            
                              maxTime = 42.521ms;           maxTime = 30.281ms; 
          maxTime = 19.813ms;           
                              meanTime = 15.927688ms;       meanTime = 
2.027702ms;        meanTime = 1.500614ms;        
                              stdDevTime = 3.771848ms;      stdDevTime = 
1.900016ms;      stdDevTime = 1.66222ms;       
                              Speed = 62.783752 /sec        Speed = 493.1691 
/sec         Speed = 666.3936 /sec         
                              Rate = -270.4675 MB/s         Rate = -2124.534 
MB/s         Rate = -2870.7717 MB/s        

org.apache.mahout.common.distance.SquaredEuclideanDistanceMeasure               
                                                                           
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 9.871233s;          sumTime = 0.82808s; 
          sumTime = 0.106835s;          
                              minTime = 1.758ms;            minTime = 0.108ms;  
          minTime = 0.0040ms;           
                              maxTime = 11.031ms;           maxTime = 1.151ms;  
          maxTime = 2.86ms;             
                              meanTime = 1.974246ms;        meanTime = 
0.165616ms;        meanTime = 0.021367ms;        
                              stdDevTime = 0.254992ms;      stdDevTime = 
0.044317ms;      stdDevTime = 0.04582ms;       
                              Speed = 506.52234 /sec        Speed = 6038.064 
/sec         Speed = 46801.14 /sec         
                              Rate = -2182.0586 MB/s        Rate = -26011.508 
MB/s        Rate = -201615.66 MB/s        

org.apache.mahout.common.distance.TanimotoDistanceMeasure                       
                                                                   
                              nCalls = 5000;                nCalls = 5000;      
          nCalls = 5000;                
                              sumTime = 32.850508s;         sumTime = 
2.129189s;          sumTime = 0.142919s;          
                              minTime = 5.336ms;            minTime = 0.353ms;  
          minTime = 0.0ms;              
                              maxTime = 68.024ms;           maxTime = 20.729ms; 
          maxTime = 0.407ms;            
                              meanTime = 6.570101ms;        meanTime = 
0.425837ms;        meanTime = 0.028583ms;        
                              stdDevTime = 2.417741ms;      stdDevTime = 
0.307561ms;      stdDevTime = 0.023598ms;      
                              Speed = 152.20465 /sec        Speed = 2348.312 
/sec         Speed = 34984.848 /sec        
                              Rate = -655.6857 MB/s         Rate = -10116.345 
MB/s        Rate = -150712.0 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
>
>
> 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