mahout-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jake Mannix (JIRA)" <j...@apache.org>
Subject [jira] Commented: (MAHOUT-300) Solve performance issues with Vector Implementations
Date Mon, 22 Feb 2010 16:42:30 GMT

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


Mime
View raw message