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

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

The sparse data is odd... (-vs 500000 -sp 5000) (running with 1000, 300 is 
really not very sparse at all...)  

I haven't applied any newer patches (just the one I submitted most recently), 
but I have svn upped.

These results are counterintuitve.

{code}
BenchMarks                    DenseVector                   
RandomAccessSparseVector      SequentialAccessSparseVector  
Dense.dot(RandomAccess)       Dense.dot(SequentialAccess)   
RandomAcces.dot(Dense)        
RandomAccess.dot(SequentialAccess)SequentialAccess.dot(Dense)   
SequentialAccess.dot(RandomAccess)
DotProduct                                                                      
                                                                                
                                                                                
                                                            
                              nCalls = 2500;                nCalls = 2500;      
          nCalls = 2500;                nCalls = 2500;                nCalls = 
2500;                nCalls = 2500;                nCalls = 2500;               
 nCalls = 2500;                nCalls = 2500;                
                              sumTime = 3.660321s;          sumTime = 
1.481516s;          sumTime = 0.448737s;          sumTime = 2.098937s;          
sumTime = 0.856259s;          sumTime = 2.277742s;          sumTime = 
0.607507s;          sumTime = 1.341608s;          sumTime = 0.741622s;          
                              minTime = 1.31ms;             minTime = 0.459ms;  
          minTime = 0.102ms;            minTime = 0.716ms;            minTime = 
0.24ms;             minTime = 0.776ms;            minTime = 0.18ms;             
minTime = 0.442ms;            minTime = 0.209ms;            
                              maxTime = 10.149ms;           maxTime = 36.691ms; 
          maxTime = 4.552ms;            maxTime = 5.437ms;            maxTime = 
11.856ms;           maxTime = 8.059ms;            maxTime = 4.509ms;            
maxTime = 2.136ms;            maxTime = 2.031ms;            
                              meanTime = 1.464128ms;        meanTime = 
0.592606ms;        meanTime = 0.179494ms;        meanTime = 0.839574ms;        
meanTime = 0.342503ms;        meanTime = 0.911096ms;        meanTime = 
0.243002ms;        meanTime = 0.536643ms;        meanTime = 0.296648ms;        
                              stdDevTime = 0.329025ms;      stdDevTime = 
0.852156ms;      stdDevTime = 0.234261ms;      stdDevTime = 0.179854ms;      
stdDevTime = 0.286798ms;      stdDevTime = 0.268853ms;      stdDevTime = 
0.115022ms;      stdDevTime = 0.171088ms;      stdDevTime = 0.115263ms;      
                              Speed = 683.0002 /sec         Speed = 1687.4606 
/sec        Speed = 5571.192 /sec         Speed = 1191.0791 /sec        Speed = 
2919.6772 /sec        Speed = 1097.5781 /sec        Speed = 4115.1787 /sec      
  Speed = 1863.4355 /sec        Speed = 3370.9895 /sec        
                              Rate = 4098.001 MB/s          Rate = 10124.764 
MB/s         Rate = 33427.152 MB/s         Rate = 7146.4746 MB/s         Rate = 
17518.062 MB/s         Rate = 6585.4688 MB/s         Rate = 24691.072 MB/s      
   Rate = 11180.613 MB/s         Rate = 20225.936 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.

Reply via email to