You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by gs...@apache.org on 2009/11/23 16:14:38 UTC
svn commit: r883365 [32/47] - in /lucene/mahout/trunk: ./ examples/ matrix/
matrix/src/ matrix/src/main/ matrix/src/main/java/
matrix/src/main/java/org/ matrix/src/main/java/org/apache/
matrix/src/main/java/org/apache/mahout/ matrix/src/main/java/org/a...
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118.txt
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118.txt?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118.txt (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118.txt Mon Nov 23 15:14:26 2009
@@ -0,0 +1,330 @@
+Colt Matrix benchmark running on
+
+java.vm.vendor ?
+java.vm.version ?
+java.vm.name ?
+os.name Windows NT
+os.version 4.0
+os.arch x86
+java.version 1.1.8
+java.vendor IBM Corporation
+java.vendor.url http://www.ibm.com/
+
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 9.427 9.242 9.351 9.069
+i 33 | 9.021 10.094 9.894 9.439
+z 66 | 4.244 5.512 5.094 4.906
+e 100 | 5.604 5.169 5.532 5.557
+ 300 | 5.336 3.38 4.844 5.009
+
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+----------------------------------
+s 30 | 48.749 25.329 5.23 0.858
+i 33 | 60.096 30.266 6.647 0.513
+z 66 | 170.858 48.24 6.611 0.566
+e 100 | 276.408 62.387 4.615 0.697
+ 300 | 535.505 68.536 6.187 0.445
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 0.193 0.365 1.788 10.569
+i 33 | 0.15 0.334 1.488 18.412
+z 66 | 0.025 0.114 0.771 8.669
+e 100 | 0.02 0.083 1.199 7.97
+ 300 | 0.01 0.049 0.783 11.26
+Run took a total of Time=177.715 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 1.784 1.753 1.757 1.76
+i 33 | 1.715 1.749 1.594 1.74
+z 66 | 1.479 1.45 1.488 1.522
+e 100 | 1.532 1.522 1.604 1.643
+ 300 | 1.506 1.463 1.59 1.586
+
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.338 0.329 0.284 0.157
+i 33 | 0.337 0.325 0.284 0.128
+z 66 | 0.329 0.321 0.289 0.138
+e 100 | 0.333 0.323 0.27 0.154
+ 300 | 0.33 0.32 0.283 0.126
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 5.287 5.334 6.183 11.194
+i 33 | 5.086 5.389 5.615 13.617
+z 66 | 4.5 4.51 5.146 11.044
+e 100 | 4.603 4.711 5.951 10.668
+ 300 | 4.567 4.579 5.609 12.589
+Run took a total of Time=161.893 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 1.135 1.173 1.138 1.141
+i 33 | 1.131 1.153 1.136 1.142
+z 66 | 1.063 1.003 1.031 1.043
+e 100 | 1.116 1.079 1.054 1.077
+ 300 | 0.97 1.117 1.084 1.066
+
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.306 0.297 0.26 0.15
+i 33 | 0.305 0.295 0.263 0.119
+z 66 | 0.301 0.298 0.261 0.129
+e 100 | 0.298 0.293 0.252 0.143
+ 300 | 0.3 0.29 0.26 0.125
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 3.713 3.945 4.383 7.612
+i 33 | 3.711 3.914 4.325 9.638
+z 66 | 3.531 3.365 3.942 8.072
+e 100 | 3.745 3.682 4.182 7.516
+ 300 | 3.238 3.853 4.163 8.5
+Run took a total of Time=157.917 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+------------------------------------
+s 30 | 23.694 24.835 24.697 24.504
+i 33 | 37.673 28.121 16.455 15.93
+z 66 | 82.096 40.924 14.844 15.789
+e 100 | 121.541 55.122 16.807 16.724
+ 300 | 227.01 88.38 17.17 17.225
+
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 0.677 0.664 0.628 0.634
+i 33 | 6.109 2.056 0.69 0.656
+z 66 | 16.042 3.281 0.668 0.67
+e 100 | 23.727 5.348 0.668 0.655
+ 300 | 60.606 14.815 0.641 0.668
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 34.974 37.381 39.313 38.628
+i 33 | 6.167 13.68 23.845 24.299
+z 66 | 5.117 12.473 22.236 23.551
+e 100 | 5.122 10.308 25.16 25.546
+ 300 | 3.746 5.966 26.795 25.775
+Run took a total of Time=299.03 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 9.889 11.182 6.61 7.977
+i 33 | 4.839 5.526 5.645 5.1
+z 66 | 4.918 4.394 4.486 5.451
+e 100 | 4.764 4.829 4.753 4.572
+ 300 | 3.916 4.066 3.883 3.95
+
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.215 0.215 0.21 0.2
+i 33 | 0.215 0.212 0.207 0.188
+z 66 | 0.211 0.211 0.204 0.202
+e 100 | 0.216 0.209 0.207 0.192
+ 300 | 0.213 0.207 0.207 0.23
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 46.049 52.044 31.467 39.919
+i 33 | 22.536 26.119 27.287 27.113
+z 66 | 23.308 20.83 21.972 27.004
+e 100 | 22.081 23.144 22.987 23.859
+ 300 | 18.39 19.634 18.752 17.15
+Run took a total of Time=175.102 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of LUQuick.decompose [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 9.351 8.513 5.643 5.848
+i 33 | 10.169 9.49 6.323 6.572
+z 66 | 19.914 19.135 8.97 8.779
+e 100 | 33.463 27.261 12.103 10.528
+ 300 | 76.343 53.386 17.621 13.667
+
+Performance of LUQuick.decompose [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 1.95 1.652 0.569 0.267
+i 33 | 2.104 1.818 0.54 0.34
+z 66 | 4.315 3.377 0.626 0.255
+e 100 | 6.34 4.66 0.802 0.174
+ 300 | 17.2 9.587 1.034 0.103
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 4.795 5.153 9.909 21.908
+i 33 | 4.834 5.22 11.716 19.33
+z 66 | 4.615 5.666 14.328 34.415
+e 100 | 5.278 5.851 15.086 60.421
+ 300 | 4.439 5.568 17.039 132.559
+Run took a total of Time=331.177 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of LUQuick.solve [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-------------------------------------
+s 30 | 32.834 37.457 19.365 9.276
+i 33 | 42.581 42.096 20.71 9.571
+z 66 | 87.239 85.445 16.581 11.115
+e 100 | 136.004 154.068 15.976 10.225
+ 300 | 352.773 195.193 12.294 11.942
+
+Performance of LUQuick.solve [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 7.187 7.076 1.674 0.568
+i 33 | 8.88 7.594 1.581 0.574
+z 66 | 15.581 14.93 0.984 0.577
+e 100 | 23.163 20.07 0.917 0.58
+ 300 | 70.272 14.202 0.661 0.567
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 4.568 5.293 11.566 16.331
+i 33 | 4.795 5.543 13.099 16.665
+z 66 | 5.599 5.723 16.852 19.262
+e 100 | 5.872 7.677 17.424 17.642
+ 300 | 5.02 13.744 18.613 21.048
+Run took a total of Time=373.947 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of SOR [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 9.801 9.558 10.156 10.003
+i 33 | 9.901 8.684 10.725 10.774
+z 66 | 9.42 10.02 9.644 9.536
+e 100 | 9.454 9.588 9.689 8.013
+ 300 | 9.538 9.095 9.523 9.455
+
+Performance of SOR [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.749 0.727 0.645 0.724
+i 33 | 0.755 0.721 0.643 0.725
+z 66 | 0.694 0.678 0.609 0.69
+e 100 | 0.686 0.679 0.582 0.662
+ 300 | 0.669 0.642 0.576 0.616
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 13.08 13.14 15.737 13.82
+i 33 | 13.121 12.04 16.69 14.868
+z 66 | 13.569 14.771 15.827 13.817
+e 100 | 13.791 14.113 16.657 12.099
+ 300 | 14.266 14.171 16.542 15.339
+Run took a total of Time=164.167 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of Correlation [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 6.538 6.279 7.071 6.613
+i 33 | 6.973 6.998 7.728 6.318
+z 66 | 9.657 9.615 10.316 9.861
+e 100 | 10.641 9.257 11.526 9.897
+ 300 | 12.671 15.547 15.547 15.283
+
+Performance of Correlation [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.515 0.542 0.546 0.52
+i 33 | 0.52 0.523 0.536 0.417
+z 66 | 0.461 0.583 0.494 0.518
+e 100 | 0.568 0.636 0.559 0.613
+ 300 | 0.529 0.58 0.58 0.603
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 12.697 11.593 12.944 12.72
+i 33 | 13.422 13.39 14.417 15.156
+z 66 | 20.954 16.497 20.891 19.031
+e 100 | 18.728 14.55 20.628 16.144
+ 300 | 23.935 26.799 26.816 25.351
+Run took a total of Time=327.2 secs. End of run.
+
+Program execution took a total of 36.173347 minutes.
+Good bye.
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118Linux.txt
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118Linux.txt?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118Linux.txt (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118Linux.txt Mon Nov 23 15:14:26 2009
@@ -0,0 +1,357 @@
+Colt Matrix benchmark running on
+
+java.vm.vendor ?
+java.vm.version ?
+java.vm.name ?
+os.name Linux
+os.version #1 Mon Sep 27 10:40:35 EDT 1999.2.2.12-20
+os.arch i686
+java.version 1.1.8
+java.vendor IBM Corporation
+java.vendor.url http://www.ibm.com/
+
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+----------------------------------------
+s 30 | 202.717 153.534 173.376 184.647
+i 33 | 98.813 92.027 94.22 83.302
+z 66 | 41.771 41.762 41.837 41.962
+e 100 | 42.172 42.22 42.356 41.648
+ 300 | 19.299 19.433 18.965 19.279
+ 1000 | 19.756 19.185 19.013 19
+
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------------
+s 30 | 90.17 62.385 21.478 3.495
+i 33 | 108.349 75.37 27.035 2.289
+z 66 | 384.744 169.401 31.19 2.746
+e 100 | 726.676 242.37 NaN NaN
+ 300 | 2.219E+003 349.705 NaN NaN
+ 1000 | 2.101E+003 313.301 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 2.248 2.461 8.072 52.829
+i 33 | 0.912 1.221 3.485 36.386
+z 66 | 0.109 0.247 1.341 15.282
+e 100 | 0.058 0.174 NaN NaN
+ 300 | 0.009 0.056 NaN NaN
+ 1000 | 0.009 0.061 NaN NaN
+Run took a total of Time=456.004 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 10.568 10.641 10.593 10.595
+i 33 | 10.346 10.328 10.411 10.314
+z 66 | 10.353 10.46 10.431 10.441
+e 100 | 10.324 10.304 10.336 10.292
+ 300 | 7.264 7.388 7.556 7.488
+ 1000 | 7.469 7.382 7.322 7.357
+
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 1.553 1.445 1.229 0.67
+i 33 | 1.547 1.454 1.263 0.525
+z 66 | 1.446 1.453 1.263 0.585
+e 100 | 1.489 1.455 NaN NaN
+ 300 | 1.483 1.434 NaN NaN
+ 1000 | 1.472 1.425 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 6.804 7.365 8.618 15.817
+i 33 | 6.687 7.1 8.242 19.629
+z 66 | 7.162 7.199 8.259 17.85
+e 100 | 6.931 7.084 NaN NaN
+ 300 | 4.898 5.151 NaN NaN
+ 1000 | 5.072 5.182 NaN NaN
+Run took a total of Time=414.626 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------
+s 30 | 6.746 6.64 6.699 6.847
+i 33 | 6.531 6.577 6.603 6.585
+z 66 | 6.196 6.522 6.531 6.561
+e 100 | 6.504 6.507 6.485 5.879
+ 300 | 5.242 5.015 4.998 4.978
+ 1000 | 5.074 4.836 4.821 4.838
+
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 1.392 1.313 1.126 0.631
+i 33 | 1.382 1.305 1.138 0.503
+z 66 | 1.323 1.294 1.153 0.554
+e 100 | 1.333 1.304 NaN NaN
+ 300 | 1.309 1.295 NaN NaN
+ 1000 | 1.326 1.284 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 4.847 5.057 5.951 10.847
+i 33 | 4.725 5.041 5.801 13.102
+z 66 | 4.683 5.039 5.665 11.846
+e 100 | 4.879 4.99 NaN NaN
+ 300 | 4.006 3.871 NaN NaN
+ 1000 | 3.828 3.766 NaN NaN
+Run took a total of Time=408.428 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------------
+s 30 | 98.881 98.287 98.709 97.516
+i 33 | 160.007 115.289 66.786 66.492
+z 66 | 354.733 194.525 70.956 70.511
+e 100 | 572.834 256.28 80.372 80.499
+ 300 | 1.163E+003 391.62 39.72 40.832
+ 1000 | 2.334E+003 409.794 38.098 38.136
+
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+----------------------------------------
+s 30 | 2.886 2.74 2.664 2.918
+i 33 | 26.198 7.754 2.69 2.9
+z 66 | 66.685 13.284 2.629 2.989
+e 100 | 96.516 21.726 NaN NaN
+ 300 | 254.417 60.629 NaN NaN
+ 1000 | 590.058 110.73 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 34.263 35.865 37.059 33.415
+i 33 | 6.108 14.869 24.825 22.928
+z 66 | 5.319 14.644 26.988 23.587
+e 100 | 5.935 11.796 NaN NaN
+ 300 | 4.57 6.459 NaN NaN
+ 1000 | 3.955 3.701 NaN NaN
+Run took a total of Time=480.366 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 32.872 33.542 30.249 31.479
+i 33 | 28.883 28.955 30.614 32.409
+z 66 | 33.719 33.596 28.864 28.647
+e 100 | 34.309 15.042 31.192 23.819
+ 300 | 11.471 12.285 12.778 12.17
+ 1000 | 11.316 12.548 12.556 12.564
+
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 0.97 0.969 0.959 0.923
+i 33 | 0.97 0.957 0.939 0.94
+z 66 | 0.953 0.96 0.93 0.905
+e 100 | 0.955 0.954 NaN NaN
+ 300 | 0.963 0.93 NaN NaN
+ 1000 | 0.97 0.934 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 33.888 34.607 31.543 34.108
+i 33 | 29.784 30.248 32.595 34.486
+z 66 | 35.379 34.988 31.027 31.655
+e 100 | 35.909 15.763 NaN NaN
+ 300 | 11.915 13.203 NaN NaN
+ 1000 | 11.662 13.434 NaN NaN
+Run took a total of Time=435.369 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of LUQuick.decompose [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------------
+s 30 | 47.347 44.246 27.743 29.804
+i 33 | 52.492 47.662 29.728 32.303
+z 66 | 115.045 103.169 46.469 46.186
+e 100 | 173.61 148.554 59.58 53.518
+ 300 | 436.16 284.92 79.678 64.8
+ 1000 | 1.088E+003 444.296 49.603 36.64
+
+Performance of LUQuick.decompose [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 8.192 6.852 2.163 0.631
+i 33 | 8.874 7.488 1.964 1.021
+z 66 | 18.245 13.991 2.491 0.485
+e 100 | 26.055 19.432 NaN NaN
+ 300 | 72.595 40.609 NaN NaN
+ 1000 | 193.489 55.849 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 5.78 6.457 12.824 47.266
+i 33 | 5.915 6.365 15.134 31.632
+z 66 | 6.306 7.374 18.654 95.149
+e 100 | 6.663 7.645 NaN NaN
+ 300 | 6.008 7.016 NaN NaN
+ 1000 | 5.625 7.955 NaN NaN
+Run took a total of Time=405.341 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of LUQuick.solve [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------------------
+s 30 | 163.602 160.545 118.415 60.703
+i 33 | 183.644 171.665 133.95 63.351
+z 66 | 390.497 385.474 104.919 59.314
+e 100 | 602.888 572.391 91.152 58.984
+ 300 | 1.414E+003 1.021E+003 43.214 37.514
+ 1000 | 4.173E+003 95.584 27.1 26.42
+
+Performance of LUQuick.solve [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 29.442 28.247 6.491 2.454
+i 33 | 32.493 31.325 6.419 2.44
+z 66 | 65.155 59.621 4.121 2.485
+e 100 | 98.301 88.317 NaN NaN
+ 300 | 290.192 56.379 NaN NaN
+ 1000 | 953.788 8.095 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 5.557 5.684 18.243 24.731
+i 33 | 5.652 5.48 20.868 25.959
+z 66 | 5.993 6.465 25.459 23.865
+e 100 | 6.133 6.481 NaN NaN
+ 300 | 4.872 18.103 NaN NaN
+ 1000 | 4.375 11.808 NaN NaN
+Run took a total of Time=820.9 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of SOR [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 48.783 48.821 49.564 50.123
+i 33 | 49.667 49.708 47.578 47.156
+z 66 | 47.419 47.552 47.489 47.515
+e 100 | 46.315 46.509 43.907 46.581
+ 300 | 32.033 31.594 31.748 33.434
+ 1000 | 29.318 29.433 28.839 30.675
+
+Performance of SOR [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 2.799 2.577 0.392 0.479
+i 33 | 3.17 3.169 0.238 -0.404
+z 66 | 2.561 2.469 2.504 -0.39
+e 100 | 2.965 2.599 NaN NaN
+ 300 | 2.551 1.887 NaN NaN
+ 1000 | 2.34 1.765 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 17.428 18.944 126.521 104.558
+i 33 | 15.67 15.687 199.875 -116.737
+z 66 | 18.518 19.262 18.966 -121.748
+e 100 | 15.621 17.893 NaN NaN
+ 300 | 12.559 16.746 NaN NaN
+ 1000 | 12.529 16.672 NaN NaN
+Run took a total of Time=526.636 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of Correlation [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 7.616 5.48 7.146 9.215
+i 33 | 5.066 1.638 12.988 12.338
+z 66 | 3.169 20.329 19.492 47.602
+e 100 | 8.249 16.061 16.662 17.166
+ 300 | 27.918 44.257 44.345 43.717
+ 1000 | 35.083 37.06 34.811 36.058
+
+Performance of Correlation [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 2.846 2.716 2.202 2.005
+i 33 | 1.723 1.869 2.747 2.637
+z 66 | 2.721 2.935 2.825 3.032
+e 100 | 2.976 2.945 NaN NaN
+ 300 | 3.019 2.905 NaN NaN
+ 1000 | 3.104 2.891 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 2.677 2.017 3.245 4.595
+i 33 | 2.94 0.877 4.729 4.679
+z 66 | 1.165 6.927 6.901 15.698
+e 100 | 2.771 5.453 NaN NaN
+ 300 | 9.247 15.233 NaN NaN
+ 1000 | 11.303 12.818 NaN NaN
+Run took a total of Time=1153.666 secs. End of run.
+
+Program execution took a total of 85.08745 minutes.
+Good bye.
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfIBM118Linux.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicNT.txt
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicNT.txt?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicNT.txt (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicNT.txt Mon Nov 23 15:14:26 2009
@@ -0,0 +1,329 @@
+Colt Matrix benchmark running on
+
+java.vm.vendor Sun Microsystems Inc.
+java.vm.version 1.2.2
+java.vm.name Classic VM
+os.name Windows NT
+os.version 4.0
+os.arch x86
+java.version 1.2.2
+java.vendor Sun Microsystems Inc.
+java.vendor.url http://java.sun.com/
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 10.324 9.944 10.913 9.447
+i 33 | 11.175 10.462 10.077 10.264
+z 66 | 6.798 5.336 6.687 6.181
+e 100 | 6.843 6.193 6.264 6.403
+ 300 | 5.855 5.949 5.83 5.997
+
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+----------------------------------
+s 30 | 40.572 25.085 6.641 0.912
+i 33 | 83.837 26.923 7.798 0.597
+z 66 | 244.58 53.983 7.461 0.738
+e 100 | 248.195 73.074 4.99 0.789
+ 300 | 618.531 95.736 7.29 0.438
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 0.254 0.396 1.643 10.362
+i 33 | 0.133 0.389 1.292 17.196
+z 66 | 0.028 0.099 0.896 8.371
+e 100 | 0.028 0.085 1.255 8.113
+ 300 | 0.009 0.062 0.8 13.68
+Run took a total of Time=241.948 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 2.122 2.169 2.141 2.062
+i 33 | 2.03 2.099 2.224 2.236
+z 66 | 2.002 2.043 1.944 1.991
+e 100 | 1.943 1.917 1.936 1.986
+ 300 | 1.973 2.014 1.919 1.899
+
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.465 0.444 0.386 0.183
+i 33 | 0.458 0.438 0.384 0.155
+z 66 | 0.453 0.444 0.393 0.171
+e 100 | 0.455 0.442 0.369 0.196
+ 300 | 0.451 0.434 0.385 0.143
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 4.562 4.885 5.548 11.279
+i 33 | 4.429 4.793 5.795 14.381
+z 66 | 4.422 4.603 4.952 11.63
+e 100 | 4.27 4.336 5.239 10.156
+ 300 | 4.37 4.636 4.981 13.307
+Run took a total of Time=174.24 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 1.353 1.376 1.363 1.359
+i 33 | 1.381 1.317 1.365 1.328
+z 66 | 1.316 1.318 1.322 1.34
+e 100 | 1.309 1.321 1.305 1.364
+ 300 | 1.304 1.284 1.284 1.322
+
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.417 0.398 0.35 0.174
+i 33 | 0.418 0.397 0.355 0.142
+z 66 | 0.4 0.396 0.312 0.178
+e 100 | 0.402 0.322 0.336 0.172
+ 300 | 0.4 0.385 0.341 0.138
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 3.242 3.458 3.889 7.821
+i 33 | 3.304 3.321 3.84 9.339
+z 66 | 3.288 3.329 4.242 7.517
+e 100 | 3.259 4.104 3.881 7.914
+ 300 | 3.256 3.333 3.768 9.597
+Run took a total of Time=167.661 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-------------------------------------
+s 30 | 19.703 19.743 19.911 19.673
+i 33 | 52.734 32.737 13.624 12.881
+z 66 | 178.328 58.46 13.509 11.879
+e 100 | 236.193 105.954 14.402 14.265
+ 300 | 390.738 153.337 14.536 14.536
+
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+----------------------------------
+s 30 | 0.985 0.939 0.877 0.86
+i 33 | 10.956 2.993 0.955 0.897
+z 66 | 30.412 10.002 0.969 0.922
+e 100 | 47.294 31.793 0.969 0.938
+ 300 | 124.252 53.395 0.895 0.94
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 19.997 21.028 22.698 22.874
+i 33 | 4.813 10.937 14.273 14.358
+z 66 | 5.864 5.845 13.944 12.881
+e 100 | 4.994 3.333 14.856 15.214
+ 300 | 3.145 2.872 16.244 15.462
+Run took a total of Time=262.047 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 8.005 7.395 6.643 6.171
+i 33 | 5.655 6.642 6.112 5.618
+z 66 | 5.191 5.867 5.073 5.286
+e 100 | 4.724 5.944 4.966 4.667
+ 300 | 4.25 4.359 4.705 4.538
+
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.304 0.324 0.291 0.289
+i 33 | 0.314 0.308 0.315 0.274
+z 66 | 0.319 0.302 0.313 0.305
+e 100 | 0.299 0.306 0.29 0.292
+ 300 | 0.308 0.294 0.3 0.274
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 26.325 22.833 22.794 21.387
+i 33 | 18.016 21.575 19.395 20.467
+z 66 | 16.284 19.453 16.21 17.328
+e 100 | 15.817 19.419 17.135 15.988
+ 300 | 13.781 14.828 15.706 16.588
+Run took a total of Time=221.979 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of LUQuick.decompose [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 12.794 8.351 6.874 6.206
+i 33 | 13.448 8.998 7.154 6.861
+z 66 | 27.828 26.846 9.663 9.466
+e 100 | 40.65 36.748 12.247 10.86
+ 300 | 81.338 55.166 17.366 12.312
+
+Performance of LUQuick.decompose [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+---------------------------------
+s 30 | 2.819 2.272 0.814 0.334
+i 33 | 3.099 2.511 0.772 0.445
+z 66 | 6.412 4.669 0.848 0.337
+e 100 | 8.67 6.591 1.168 0.219
+ 300 | 24.075 14.32 1.405 0.121
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 4.538 3.675 8.441 18.558
+i 33 | 4.339 3.584 9.262 15.415
+z 66 | 4.34 5.75 11.388 28.078
+e 100 | 4.689 5.576 10.485 49.603
+ 300 | 3.379 3.852 12.357 101.411
+Run took a total of Time=303.376 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of LUQuick.solve [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-------------------------------------
+s 30 | 52.247 45.912 25.297 10.579
+i 33 | 54.615 50.276 26.813 11.33
+z 66 | 116.219 110.52 18.547 11.242
+e 100 | 170.823 176.341 17.208 11.155
+ 300 | 465.953 224.399 14.463 12.239
+
+Performance of LUQuick.solve [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+----------------------------------
+s 30 | 10.093 10.176 2.229 0.796
+i 33 | 11.039 11.225 2.065 0.8
+z 66 | 22.166 22.872 1.375 0.751
+e 100 | 35.902 31.849 1.285 0.764
+ 300 | 103.053 16.053 0.893 0.792
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 5.177 4.512 11.35 13.294
+i 33 | 4.947 4.479 12.984 14.157
+z 66 | 5.243 4.832 13.492 14.978
+e 100 | 4.758 5.537 13.391 14.595
+ 300 | 4.522 13.978 16.2 15.452
+Run took a total of Time=315.123 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of SOR [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 11.881 12.059 11.193 11.724
+i 33 | 12.467 11.269 10.788 11.907
+z 66 | 10.782 10.452 10.71 10.438
+e 100 | 10.112 10.527 9.873 10.072
+ 300 | 9.757 10.379 9.616 9.757
+
+Performance of SOR [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 1.073 1.045 0.815 1.047
+i 33 | 1.109 1.004 0.944 0.986
+z 66 | 1.026 0.947 0.82 0.928
+e 100 | 0.97 0.929 0.823 0.931
+ 300 | 0.963 0.873 0.722 0.884
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 11.075 11.544 13.731 11.199
+i 33 | 11.238 11.226 11.434 12.072
+z 66 | 10.512 11.041 13.057 11.251
+e 100 | 10.424 11.337 11.989 10.817
+ 300 | 10.132 11.888 13.314 11.036
+Run took a total of Time=183.243 secs. End of run.
+
+@x....x....x....x....x....
+@x....x....x....x....x....*
+Performance of Correlation [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 7.741 7.173 8.15 6.187
+i 33 | 8.248 7.654 7.859 7.609
+z 66 | 10.446 9.669 9.808 9.433
+e 100 | 11.324 10.616 12.292 11.259
+ 300 | 14.051 13.907 14.545 13.839
+
+Performance of Correlation [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+--------------------------------
+s 30 | 0.833 0.782 0.847 0.755
+i 33 | 0.757 0.757 0.822 0.686
+z 66 | 0.849 0.94 0.841 0.821
+e 100 | 0.938 0.979 0.921 0.909
+ 300 | 0.775 0.905 0.834 0.887
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.99
+-----------------------------------
+s 30 | 9.294 9.178 9.62 8.197
+i 33 | 10.894 10.105 9.566 11.092
+z 66 | 12.306 10.284 11.667 11.49
+e 100 | 12.07 10.842 13.345 12.39
+ 300 | 18.133 15.371 17.443 15.604
+Run took a total of Time=261.967 secs. End of run.
+
+Program execution took a total of 35.559467 minutes.
+Good bye.
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicNT.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicSun450.txt
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicSun450.txt?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicSun450.txt (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicSun450.txt Mon Nov 23 15:14:26 2009
@@ -0,0 +1,357 @@
+Colt Matrix benchmark running on
+
+java.vm.vendor Sun Microsystems Inc.
+java.vm.version 1.2.2
+java.vm.name Classic VM
+os.name SunOS
+os.version 5.6
+os.arch sparc
+java.version 1.2.2
+java.vendor Sun Microsystems Inc.
+java.vendor.url http://java.sun.com/
+
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 50.611 48.976 51.422 40.998
+i 33 | 51.926 50.73 51.232 51.087
+z 66 | 35.672 38.747 37.082 66.355
+e 100 | 34.61 34.919 45.341 79.38
+ 300 | 33.078 34.945 58.917 32.68
+ 1000 | 30.359 33.066 35.247 33.203
+
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------------
+s 30 | 52.678 32.446 12.073 2.422
+i 33 | 67.286 41.431 14.09 1.792
+z 66 | 198.475 91.727 20.491 2.146
+e 100 | 334.124 128.369 NaN NaN
+ 300 | 1.17E+003 243.04 NaN NaN
+ 1000 | 1.587E+003 264.553 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 0.961 1.509 4.259 16.924
+i 33 | 0.772 1.224 3.636 28.512
+z 66 | 0.18 0.422 1.81 30.919
+e 100 | 0.104 0.272 NaN NaN
+ 300 | 0.028 0.144 NaN NaN
+ 1000 | 0.019 0.125 NaN NaN
+Run took a total of Time=207.358 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------
+s 30 | 2.14 2.109 2.154 2.367
+i 33 | 2.305 2.282 1.71 2.275
+z 66 | 2.175 2.015 2.098 2.102
+e 100 | 2.172 2.175 2.176 2.182
+ 300 | 2.095 2.088 1.969 2.061
+ 1000 | 1.889 1.998 1.804 1.993
+
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 0.481 0.471 0.413 0.252
+i 33 | 0.493 0.474 0.432 0.212
+z 66 | 0.471 0.463 0.432 0.229
+e 100 | 0.472 0.474 NaN NaN
+ 300 | 0.479 0.453 NaN NaN
+ 1000 | 0.465 0.462 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 4.451 4.474 5.209 9.393
+i 33 | 4.671 4.815 3.96 10.711
+z 66 | 4.618 4.35 4.861 9.168
+e 100 | 4.6 4.594 NaN NaN
+ 300 | 4.377 4.606 NaN NaN
+ 1000 | 4.062 4.324 NaN NaN
+Run took a total of Time=162.74 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------
+s 30 | 1.455 1.377 1.42 1.199
+i 33 | 1.363 1.371 1.367 1.307
+z 66 | 1.344 1.342 1.342 1.131
+e 100 | 1.346 1.343 1.347 1.346
+ 300 | 1.212 1.315 1.129 1.294
+ 1000 | 1.203 1.268 1.265 1.259
+
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 0.42 0.396 0.34 0.232
+i 33 | 0.418 0.413 0.351 0.197
+z 66 | 0.413 0.405 0.381 0.21
+e 100 | 0.415 0.41 NaN NaN
+ 300 | 0.395 0.402 NaN NaN
+ 1000 | 0.411 0.405 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 3.466 3.477 4.172 5.157
+i 33 | 3.265 3.322 3.896 6.626
+z 66 | 3.257 3.318 3.519 5.379
+e 100 | 3.241 3.275 NaN NaN
+ 300 | 3.065 3.268 NaN NaN
+ 1000 | 2.93 3.131 NaN NaN
+Run took a total of Time=163.725 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 23.683 23.746 23.571 23.341
+i 33 | 44.956 32.32 18.397 18.803
+z 66 | 96.951 43.991 23.803 20.81
+e 100 | 153.296 77.975 27.317 25.048
+ 300 | 384.146 138.402 23.841 23.067
+ 1000 | 760.746 153.198 22.933 22.523
+
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 0.994 0.971 0.914 0.924
+i 33 | 9.056 2.938 1.001 1.046
+z 66 | 23.533 4.668 0.971 0.998
+e 100 | 34.247 7.855 NaN NaN
+ 300 | 89.293 21.386 NaN NaN
+ 1000 | 210.793 40.989 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 23.837 24.454 25.778 25.255
+i 33 | 4.964 11.001 18.374 17.973
+z 66 | 4.12 9.424 24.507 20.856
+e 100 | 4.476 9.927 NaN NaN
+ 300 | 4.302 6.472 NaN NaN
+ 1000 | 3.609 3.737 NaN NaN
+Run took a total of Time=385.078 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 12.067 14.148 14.365 12.862
+i 33 | 11.744 14.002 11.695 10.333
+z 66 | 11.347 8.23 8.394 7.249
+e 100 | 7.706 7.401 7.99 7.523
+ 300 | 7.577 8.612 11.519 12.082
+ 1000 | 7.589 7.665 7.784 7.514
+
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 0.292 0.294 0.294 0.267
+i 33 | 0.286 0.287 0.291 0.262
+z 66 | 0.293 0.295 0.273 0.275
+e 100 | 0.281 0.292 NaN NaN
+ 300 | 0.291 0.28 NaN NaN
+ 1000 | 0.283 0.283 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 41.26 48.054 48.88 48.196
+i 33 | 40.993 48.786 40.187 39.459
+z 66 | 38.782 27.916 30.804 26.334
+e 100 | 27.458 25.339 NaN NaN
+ 300 | 26.051 30.742 NaN NaN
+ 1000 | 26.812 27.073 NaN NaN
+Run took a total of Time=172.681 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of LUQuick.decompose [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 10.433 9.52 6.793 6.517
+i 33 | 9.453 10.928 7.379 7.09
+z 66 | 25.092 22.833 12.822 9.718
+e 100 | 37.446 31.121 18.018 15.737
+ 300 | 105.058 83.955 24.194 24.011
+ 1000 | 276.51 164.487 30.901 24.527
+
+Performance of LUQuick.decompose [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 2.796 2.417 0.835 0.188
+i 33 | 3.046 2.604 0.791 0.336
+z 66 | 6.267 4.794 0.928 0.137
+e 100 | 8.996 6.219 NaN NaN
+ 300 | 25.14 14.09 NaN NaN
+ 1000 | 66.381 20.176 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 3.731 3.939 8.136 34.759
+i 33 | 3.104 4.197 9.333 21.128
+z 66 | 4.004 4.763 13.815 70.908
+e 100 | 4.162 5.004 NaN NaN
+ 300 | 4.179 5.958 NaN NaN
+ 1000 | 4.165 8.153 NaN NaN
+Run took a total of Time=236.709 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of LUQuick.solve [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------------
+s 30 | 54.678 54.323 30.43 15.455
+i 33 | 61.571 58.902 37.943 15.235
+z 66 | 125.419 122.047 25.812 15.815
+e 100 | 204.674 188.824 31.108 20.24
+ 300 | 641.5 475.727 25.118 21.509
+ 1000 | 1.777E+003 71.963 19.394 19.598
+
+Performance of LUQuick.solve [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 9.281 9.277 2.095 0.764
+i 33 | 10.179 10.145 2.155 0.743
+z 66 | 20.618 18.586 1.303 0.77
+e 100 | 30.405 28.451 NaN NaN
+ 300 | 91.831 17.793 NaN NaN
+ 1000 | 303.471 2.643 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 5.891 5.856 14.525 20.219
+i 33 | 6.049 5.806 17.605 20.505
+z 66 | 6.083 6.567 19.802 20.528
+e 100 | 6.732 6.637 NaN NaN
+ 300 | 6.986 26.737 NaN NaN
+ 1000 | 5.856 27.23 NaN NaN
+Run took a total of Time=1253.427 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of SOR [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 10.915 10.975 10.814 10.694
+i 33 | 10.184 10.61 10.862 10.399
+z 66 | 9.536 9.225 9.816 9.636
+e 100 | 9.434 9.457 9.625 9.684
+ 300 | 9.367 9.759 9.444 9.694
+ 1000 | 9.188 9.105 9.17 9.114
+
+Performance of SOR [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 1.106 1.09 0.912 1.049
+i 33 | 1.084 1.076 0.972 1.093
+z 66 | 0.96 0.997 0.884 0.915
+e 100 | 0.96 0.978 NaN NaN
+ 300 | 0.955 0.917 NaN NaN
+ 1000 | 0.957 0.92 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 9.868 10.071 11.859 10.198
+i 33 | 9.398 9.857 11.175 9.512
+z 66 | 9.929 9.254 11.101 10.536
+e 100 | 9.827 9.667 NaN NaN
+ 300 | 9.805 10.645 NaN NaN
+ 1000 | 9.597 9.901 NaN NaN
+Run took a total of Time=171.003 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of Correlation [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 7.781 7.453 5.712 8.237
+i 33 | 8.949 8.048 6.039 8.78
+z 66 | 11.984 11.58 9.195 13.767
+e 100 | 17.042 12.974 11.266 16.724
+ 300 | 24.372 20.141 19.716 20.269
+ 1000 | 23.261 21.518 22.949 24.271
+
+Performance of Correlation [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 0.953 0.95 0.874 0.936
+i 33 | 0.97 0.946 0.882 0.914
+z 66 | 0.964 0.986 0.902 0.971
+e 100 | 1.016 0.989 NaN NaN
+ 300 | 1.041 0.993 NaN NaN
+ 1000 | 1.051 1.021 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 8.169 7.845 6.535 8.803
+i 33 | 9.23 8.511 6.851 9.604
+z 66 | 12.436 11.751 10.199 14.178
+e 100 | 16.778 13.122 NaN NaN
+ 300 | 23.402 20.286 NaN NaN
+ 1000 | 22.124 21.066 NaN NaN
+Run took a total of Time=2291.935 secs. End of run.
+
+Program execution took a total of 84.087814 minutes.
+Good bye.
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSun122classicSun450.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSunInprise122RC1.txt
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSunInprise122RC1.txt?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSunInprise122RC1.txt (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSunInprise122RC1.txt Mon Nov 23 15:14:26 2009
@@ -0,0 +1,357 @@
+Colt Matrix benchmark running on
+
+java.vm.vendor Sun Microsystems Inc.
+java.vm.version 1.2.2
+java.vm.name Classic VM
+os.name Linux
+os.version 2.2.12-20
+os.arch i386
+java.version 1.2.2
+java.vendor Sun Microsystems Inc.
+java.vendor.url http://java.sun.com/
+
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+----------------------------------------
+s 30 | 102.749 124.465 109.767 160.661
+i 33 | 64.221 74.233 80.484 65.918
+z 66 | 42.184 41.584 41.612 42.314
+e 100 | 42.579 41.174 42.237 42.714
+ 300 | 19.77 19.197 18.015 19.695
+ 1000 | 19.324 19.286 19.342 19.324
+
+Performance of DoubleMatrix2D assign [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------------
+s 30 | 94.672 51.894 16.154 2.853
+i 33 | 156.926 62.186 19.131 1.888
+z 66 | 294.458 124.59 24.512 2.383
+e 100 | 572.473 177.689 NaN NaN
+ 300 | 1.593E+003 284.898 NaN NaN
+ 1000 | 1.781E+003 278.754 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 1.085 2.398 6.795 56.32
+i 33 | 0.409 1.194 4.207 34.908
+z 66 | 0.143 0.334 1.698 17.756
+e 100 | 0.074 0.232 NaN NaN
+ 300 | 0.012 0.067 NaN NaN
+ 1000 | 0.011 0.069 NaN NaN
+Run took a total of Time=189.305 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------
+s 30 | 7.309 7.333 7.388 7.296
+i 33 | 7.318 7.102 7.229 7.144
+z 66 | 7.31 7.299 7.269 7.287
+e 100 | 7.179 7.204 6.903 7.188
+ 300 | 5.656 5.601 5.412 5.622
+ 1000 | 5.223 5.291 5.288 5.282
+
+Performance of DoubleMatrix2D assignGetSetQuick [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 1.237 1.171 0.933 0.502
+i 33 | 1.244 1.161 0.947 0.413
+z 66 | 1.182 1.164 1.016 0.457
+e 100 | 1.191 1.153 NaN NaN
+ 300 | 1.169 1.144 NaN NaN
+ 1000 | 1.183 1.145 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 5.91 6.261 7.918 14.543
+i 33 | 5.881 6.116 7.636 17.307
+z 66 | 6.186 6.269 7.154 15.929
+e 100 | 6.026 6.248 NaN NaN
+ 300 | 4.839 4.895 NaN NaN
+ 1000 | 4.414 4.623 NaN NaN
+Run took a total of Time=170.663 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------
+s 30 | 4.269 4.222 3.883 4.219
+i 33 | 4.167 4.223 4.213 4.214
+z 66 | 4.209 4.19 4.229 4.199
+e 100 | 4.12 4.169 4.196 4.196
+ 300 | 3.531 3.543 3.481 3.558
+ 1000 | 3.513 3.519 3.536 3.531
+
+Performance of DoubleMatrix2D assignGetSet [Mops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 1.067 1.045 0.847 0.495
+i 33 | 1.1 1 0.922 0.397
+z 66 | 1.05 1.036 0.895 0.437
+e 100 | 1.053 1.043 NaN NaN
+ 300 | 1.064 1.026 NaN NaN
+ 1000 | 1.055 1.028 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 4.001 4.041 4.588 8.525
+i 33 | 3.786 4.221 4.572 10.624
+z 66 | 4.01 4.046 4.724 9.617
+e 100 | 3.911 3.995 NaN NaN
+ 300 | 3.32 3.454 NaN NaN
+ 1000 | 3.329 3.422 NaN NaN
+Run took a total of Time=168.134 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------------
+s 30 | 36.484 31.726 36.507 31.373
+i 33 | 105.346 48.501 19.578 18.32
+z 66 | 229.429 83.016 20.72 20.79
+e 100 | 384.734 125.189 22.352 21.923
+ 300 | 881.517 232.759 17.845 17.045
+ 1000 | 1.718E+003 272.591 17.393 17.399
+
+Performance of DoubleMatrix.zMult(B,C) [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 2.321 2.237 2.276 2.297
+i 33 | 20.705 6.371 2.126 2.221
+z 66 | 54.022 10.558 2.075 2.285
+e 100 | 77.419 17.613 NaN NaN
+ 300 | 203.103 48.214 NaN NaN
+ 1000 | 475.059 87.87 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 15.72 14.186 16.039 13.657
+i 33 | 5.088 7.612 9.207 8.247
+z 66 | 4.247 7.863 9.986 9.098
+e 100 | 4.969 7.108 NaN NaN
+ 300 | 4.34 4.828 NaN NaN
+ 1000 | 3.617 3.102 NaN NaN
+Run took a total of Time=404.788 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 11.877 11.8 11.524 12.413
+i 33 | 11.523 11.804 11.999 12.521
+z 66 | 12.202 12.193 12.121 12.747
+e 100 | 12.107 12.085 11.212 12.316
+ 300 | 6.61 6.509 6.619 8.222
+ 1000 | 7.979 7.984 7.995 7.989
+
+Performance of DoubleMatrix Elementwise mult [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 0.718 0.724 0.709 0.677
+i 33 | 0.714 0.709 0.719 0.678
+z 66 | 0.715 0.715 0.715 0.675
+e 100 | 0.726 0.715 NaN NaN
+ 300 | 0.726 0.699 NaN NaN
+ 1000 | 0.731 0.702 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 16.534 16.301 16.243 18.341
+i 33 | 16.143 16.657 16.682 18.477
+z 66 | 17.064 17.044 16.954 18.888
+e 100 | 16.675 16.902 NaN NaN
+ 300 | 9.103 9.307 NaN NaN
+ 1000 | 10.919 11.365 NaN NaN
+Run took a total of Time=169.029 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of LUQuick.decompose [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 28.057 25.749 13.771 12.179
+i 33 | 30.638 25.111 14.328 12.755
+z 66 | 68.665 61.011 20.962 18.411
+e 100 | 105.87 90.147 28.986 21.527
+ 300 | 273.013 197.183 37.516 25.046
+ 1000 | 733.945 335.008 29.718 19.887
+
+Performance of LUQuick.decompose [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 6.46 5.413 1.522 0.385
+i 33 | 7.008 5.923 1.423 0.746
+z 66 | 14.604 11.1 1.944 0.278
+e 100 | 20.71 15.428 NaN NaN
+ 300 | 57.666 32.476 NaN NaN
+ 1000 | 155.545 43.349 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 4.343 4.757 9.046 31.658
+i 33 | 4.372 4.239 10.067 17.101
+z 66 | 4.702 5.497 10.78 66.207
+e 100 | 5.112 5.843 NaN NaN
+ 300 | 4.734 6.072 NaN NaN
+ 1000 | 4.719 7.728 NaN NaN
+Run took a total of Time=223.548 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of LUQuick.solve [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------------
+s 30 | 108.371 112.137 57.753 22.017
+i 33 | 109.337 128.1 61.339 22.871
+z 66 | 240.103 290.444 45.126 26.001
+e 100 | 451.21 442.507 42.484 27.325
+ 300 | 1.192E+003 701.814 26.65 23.639
+ 1000 | 3.642E+003 70.928 20.353 19.35
+
+Performance of LUQuick.solve [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+---------------------------------------
+s 30 | 23.189 22.628 5.084 1.885
+i 33 | 25.612 25.129 4.798 1.873
+z 66 | 52.059 47.359 3.124 1.879
+e 100 | 78.662 69.765 NaN NaN
+ 300 | 231.319 42.229 NaN NaN
+ 1000 | 764.122 6.4 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+--------------------------------------
+s 30 | 4.673 4.956 11.36 11.678
+i 33 | 4.269 5.098 12.784 12.212
+z 66 | 4.612 6.133 14.443 13.834
+e 100 | 5.736 6.343 NaN NaN
+ 300 | 5.153 16.619 NaN NaN
+ 1000 | 4.766 11.083 NaN NaN
+Run took a total of Time=787.035 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of SOR [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 15.618 15.242 15.773 15.59
+i 33 | 15.27 15.601 15.406 15.278
+z 66 | 14.605 14.769 14.751 14.769
+e 100 | 14.334 14.655 14.422 14.461
+ 300 | 12.544 12.572 12.434 12.585
+ 1000 | 12.152 12.17 12.085 11.982
+
+Performance of SOR [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 2.488 2.505 2.157 2.562
+i 33 | 2.467 2.427 2.155 2.53
+z 66 | 2.324 2.314 2.019 2.282
+e 100 | 2.286 2.24 NaN NaN
+ 300 | 2.232 2.125 NaN NaN
+ 1000 | 2.203 2.03 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 6.277 6.086 7.312 6.086
+i 33 | 6.191 6.427 7.148 6.038
+z 66 | 6.285 6.382 7.307 6.471
+e 100 | 6.27 6.543 NaN NaN
+ 300 | 5.619 5.916 NaN NaN
+ 1000 | 5.517 5.994 NaN NaN
+Run took a total of Time=162.647 secs. End of run.
+
+@x....x....x....x....x....x....
+@x....x....x....x....x....x....*
+Performance of Correlation [Mflops/sec]
+type=dense
+ | density
+ | 0.0010 0.01 0.1 0.999
+------------------------------------
+s 30 | 13.642 14.034 13.81 13.249
+i 33 | 14.87 14.592 13.938 14.54
+z 66 | 19.74 19.38 18.802 19.593
+e 100 | 22.634 20.671 21.913 21.881
+ 300 | 22.361 20.538 21.909 21.5
+ 1000 | 19.28 19.275 19.267 19.253
+
+Performance of Correlation [Mflops/sec]
+type=sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 2.129 2.04 2.08 2.139
+i 33 | 2.158 2.108 2.052 2.148
+z 66 | 2.232 2.223 2.14 2.255
+e 100 | 2.268 2.238 NaN NaN
+ 300 | 2.314 2.212 NaN NaN
+ 1000 | 2.361 2.253 NaN NaN
+
+Speedup of dense over sparse
+ | density
+ | 0.0010 0.01 0.1 0.999
+-------------------------------------
+s 30 | 6.407 6.88 6.639 6.195
+i 33 | 6.889 6.921 6.793 6.77
+z 66 | 8.844 8.719 8.787 8.69
+e 100 | 9.982 9.234 NaN NaN
+ 300 | 9.663 9.287 NaN NaN
+ 1000 | 8.166 8.554 NaN NaN
+Run took a total of Time=1226.006 secs. End of run.
+
+Program execution took a total of 58.35815 minutes.
+Good bye.
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/perfSunInprise122RC1.txt
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceLog.html
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceLog.html?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceLog.html (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceLog.html Mon Nov 23 15:14:26 2009
@@ -0,0 +1,134 @@
+<HTML>
+<BODY>
+<h1>Results of Single and Dual Processor Colt Matrix Benchmark</h1>
+
+<p>using the <a href="../package-summary.html#Overview">matrix package</a>. For
+ more explanations, on how to interpret and run benchmarks on your own boxes,
+ see the documentation of class <a href="../bench/BenchmarkMatrix.html">BenchmarkMatrix</a>.</p>
+<table border="1" cellspacing="0">
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966" width="77">OS</td>
+ <td bgcolor="33CC66" width="509">Linux</td>
+ <td bgcolor="33CC66" width="32">Your config.</td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966" width="77">OS Config.</td>
+ <td bgcolor="#31CF63" width="509">Red Hat 6.1, Kernel 2.2.12-20smp</td>
+ <td bgcolor="#31CF63" width="32"> </td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966" width="77">HW</td>
+ <td bgcolor="#31CF63" width="509">2 x PentiumIII@600 MHz, 512 MB, 32 KB L1,
+ 2x256 KB L2 (lxplus012.cern.ch)
+ </td>
+ <td bgcolor="#31CF63" width="32"> </td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966" width="77">VM</td>
+ <td bgcolor="#31CF63" width="509">IBMJDK1.3, Classic VM, build cxdev-20000502,
+ jitc
+ </td>
+ <td bgcolor="#31CF63" width="32"> </td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FFCFCE" width="77">Performance</td>
+ <td bgcolor="FFCCCC" width="509"><a href="allColt1.0.1ibm1.3LxPIII.txt">here</a></td>
+ <td bgcolor="FFCCCC" width="32"> </td>
+ </tr>
+</table>
+<p>Here the result for the matrix matrix multiply with <a href="dgemmColt1.0.1ibm1.3LxPIII_1.txt">one
+ thread</a> and the parallel version with <a href="dgemmColt1.0.1ibm1.3LxPIII_2.txt">two
+ threads</a>.</p>
+
+<p>Each operation is timed varying the following parameters </p>
+<ul>
+ <li><i>Implementation type</i> - <tt>DenseDoubleMatrix2D, SparseDoubleMatrix2D</tt></li>
+ <li><i>Density</i> - the fraction of cells in non-zero state (randomly assigned)</li>
+ <li><i>Size</i> - all matrices are square with the given number of rows and
+ columns
+ </li>
+ <li><i>Computer Architecture, Operating System and Virtual Machine</i></li>
+</ul>
+<p>Methodology</p>
+<ul>
+ <li>Measurements given in <i>Mops/sec</i> (10^6 ops/sec) and <i>Mflops/sec</i>
+ (10^6 flops/sec). <tt>A[i,j]=B[k,l]</tt> counts as <tt>1</tt> op whereas <tt>sum
+ += A[i,j]*B[k,l]</tt> counts as <tt>2</tt> flops. For sparse implementations
+ Mops and Mflops are expressed in relation to the dense base line implementation:
+ If an operation on a dense matrix executes at 10 Mflops/sec but takes 2 times
+ longer to complete on a sparse matrix, the sparse matrix is said to have a
+ performance of 10/2=5 Mflops.<br>
+ </li>
+ <li>All machines are empty.<br>
+ </li>
+ <li>No explicit invocation of garbage collection within and between runs (there
+ is not much to collect).<br>
+ </li>
+ <li>Each operation is repeated for at least 2 seconds (see command line); the
+ mean of all repetitions is reported.<br>
+ </li>
+ <li>Some parameter combinations that do not occur in practice (but would take
+ lots of memory and time) are not benchmarked; they appear in the tables as
+ NaN's (this is <i>not</i> an error). For example, it is possible to multiply
+ two matrices of type <tt>SparseDoubleMatrix2D</tt> which are in fact very
+ dense. However, it doesn't make a lot of sense; one would take <tt>DenseDoubleMatrix2D</tt>
+ for such purposes. <br>
+ </li>
+</ul>
+<p>Command line: <tt>java -Xmx400m cern.colt.matrix.bench.BenchmarkMatrix -file
+ all </tt></p>
+
+<p>Below some results from an old version 1.0Beta4-1. Of historic interest only.</p>
+<table border="1" cellspacing="0">
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966">OS</td>
+ <td bgcolor="33CC66">Linux</td>
+ <td bgcolor="33CC66">Linux</td>
+ <td bgcolor="33CC66">Linux</td>
+ <td bgcolor="33CC66">Solaris</td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966">OS Config.</td>
+ <td bgcolor="#31CF63">Red Hat 6.1, Kernel 2.2.12-20</td>
+ <td bgcolor="#31CF63">Red Hat 6.1, Kernel 2.2.12-20</td>
+ <td bgcolor="#31CF63">Red Hat 6.1, Kernel 2.2.12-20</td>
+ <td bgcolor="#31CF63">Solaris 2.6 (aka SunOS 5.6)</td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966">HW</td>
+ <td bgcolor="#31CF63">1 x PentiumIII@600 MHz, 128 MB, 32 KB L1, 256 KB L2
+ (linuxosdev.cern.ch)
+ </td>
+ <td bgcolor="#31CF63">1 x PentiumIII@600 MHz, 128 MB, 32 KB L1, 256 KB L2
+ (linuxosdev.cern.ch)
+ </td>
+ <td bgcolor="#31CF63">1 x PentiumIII@600 MHz, 128 MB, 32 KB L1, 256 KB L2
+ (linuxosdev.cern.ch)
+ </td>
+ <td bgcolor="#31CF63">Sun 450, 2 x Ultrasparc-II@400 MHz (1 CPU used), 256
+ MB, 32 KB L1, 4 MB L2 (shd70.cern.ch)
+ </td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FF9966">VM</td>
+ <td bgcolor="#31CF63">IBMJDK1.1.8</td>
+ <td bgcolor="#31CF63">BlackdownJDK1.2.2RC3, Classic VM, native threads, sunwjit
+ </td>
+ <td bgcolor="#31CF63">SunInpriseJDK1.2.2RC1, Classic VM (build 1.2.2-I, green
+ threads, javacomp)
+ </td>
+ <td bgcolor="#31CF63">SunJDK1.2.2, Classic VM</td>
+ </tr>
+ <tr align="left" valign="top">
+ <td bgcolor="#FFCFCE">Performance</td>
+ <td bgcolor="FFCCCC"><a href="perfIBM118Linux.txt">here</a></td>
+ <td bgcolor="FFCCCC"><a href="perfBlackdown122RC3.txt">here</a></td>
+ <td bgcolor="FFCCCC"><a href="perfSunInprise122RC1.txt">here</a></td>
+ <td bgcolor="FFCCCC"><a href="perfSun122classicSun450.txt">here</a></td>
+ </tr>
+</table>
+<p></p>
+
+<p> </p>
+</BODY>
+</HTML>
\ No newline at end of file
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceLog.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceNotes.html
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceNotes.html?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceNotes.html (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceNotes.html Mon Nov 23 15:14:26 2009
@@ -0,0 +1,172 @@
+<HTML><title>Performance Notes</title>
+
+<BODY>
+<h1>Matrix Performance Notes</h1>
+
+<p>While the matrix interface is always identical, performance characteristics
+ are implementation dependent. In general, performance of a matrix operation
+ is a function of <i>{data structure, density, type and kind of method arguments}</i>.
+ This library takes great care about performance. When in doubt about the detailed
+ character of an operation, have a look at the source code. </p>
+
+<p>In practice, sparse matrices are used for one of two reasons: To safe memory
+ or to speed up computation. Hash based sparse matrices (<a href="../impl/SparseDoubleMatrix2D.html">SparseDoubleMatrix2D</a>)
+ are neither the smallest possible matrix representation nor the fastest. They
+ implement a reasonable trade-off between performance and memory: Very good average
+ performance on get/set operations at quite small memory footprint. They are
+ also suited for special-purpose algorithms exploiting explicit knowledge about
+ what regions are zero and non-zero, but not quite as good as other sparse matrix
+ representations. For example, sparse linear algebraic matrix multiplies, inversions,
+ etc. better work on sparse row compressed (<a href="../impl/RCDoubleMatrix2D.html">RCDoubleMatrix2D</a>).
+ However, alternative sparse matrix representations are really only usable for
+ special purposes, because their get/set performance can be very bad. In contrast,
+ hash based sparse matrices are more generally applicable data structures. </p>
+
+<p> Here is a list describing which combinations are particularly optimized. (<tt>F</tt>
+ is used as shortcut for <samp>cern.jet.math.Functions</samp>)</p>
+
+<h3>General Remarks</h3>
+Matrix-matrix and matrix-vector multiplication <tt>C = alpha*AxB + beta*C</tt>
+:
+<blockquote>
+ <p>For good performance B,C may have any type. For A={SparseDoubleMatrix2D,RCDoubleMatrix2D}
+ this is only fast if the density of A is small. For A={DenseDoubleMatrix2D}
+ density does not matter. If A is dense and B is sparse, this is no problem,
+ because even then the quick sparse mult is used.</p>
+</blockquote>
+<h3>DenseDoubleMatrix2D</h3>
+
+<p></p>
+
+<p></p>
+<i>Dense row major format</i>. Essentially all methods highly optimized. This
+is almost always the implementation type to go for. It is also most easily to
+understand. The types below are only useful for very specific use cases.
+<h3>RCDoubleMatrix2D</h3>
+
+<p></p>
+
+<p></p>
+<i>Sparse row-compressed format</i>. Special-purpose implementation. Thus some
+operations very efficient, others quite slow. Essentially designed to support
+the fastest possible sparse matrix-matrix and matrix-vector multiplications as
+well as sparse linear algebra. Efficient methods are:
+<table width="100%" border="1" cellspacing="0">
+ <tr bgcolor="#339933">
+ <td width="19%">Operation</td>
+ <td width="35%">Method</td>
+ <td width="46%">Comment</td>
+ </tr>
+ <tr>
+ <td width="19%">read</td>
+ <td width="35%">get,getQuick</td>
+ <td width="46%">always</td>
+ </tr>
+ <tr>
+ <td width="19%">write</td>
+ <td width="35%">set,setQuick</td>
+ <td width="46%">
+ <p>only fast if the matrix is really sparse and in a loop iterating upwards:<br>
+ <tt>for (int i=0; i<rows; i++) { for (int j=0; j<columns; j++) {
+ setQuick(i,j,...) ... }}</tt></p>
+ </td>
+ </tr>
+ <tr>
+ <td width="19%">matrix-matrix and matrix-vector multiplication</td>
+ <td width="35%">zMult</td>
+ <td width="46%">see above in Section "General"</td>
+ </tr>
+ <tr>
+ <td width="19%">elementwise scaling</td>
+ <td width="35%">assign(f) where f is one of {F.mult(a),F.div(a)}</td>
+ <td width="46%"><tt>x[i,j] = x[i,j] {*,/} a</tt></td>
+ </tr>
+ <tr>
+ <td width="19%">elementwise scaling</td>
+ <td width="35%">assign(y,f) where f is one of {F.plus,F.minus, F.mult,F.div,
+ F.plusMult(a),F.minusMult(a)}
+ </td>
+ <td width="46%"><tt>x[i,j] = x[i,j] {+,-,*,/} y[i,j]<br>
+ x[i,j] = x[i,j] {+,-} y[i,j] {*,/} a</tt></td>
+ </tr>
+ <tr>
+ <td width="19%">copying</td>
+ <td width="35%">assign(othermatrix)</td>
+ <td width="46%">always fast, best if othermatrix is a RCDoubleMatrix2D</td>
+ </tr>
+ <tr>
+ <td width="19%">iteration</td>
+ <td width="35%">forEachNonzero(function)</td>
+ <td width="46%">most of the time the preferred way for iteration and modification</td>
+ </tr>
+ <tr>
+ <td width="19%"> </td>
+ <td width="35%"> </td>
+ <td width="46%"> </td>
+ </tr>
+</table>
+<table width="75%" border="1">
+</table>
+<h3>SparseDoubleMatrix2D</h3>
+
+<p></p>
+
+<p></p>
+<i>Sparse hash format</i>. General-purpose sparse implementation. Designed for
+efficient random access to sparse structures. Thus, performance more balanced
+than RCDoubleMatrix2D. Never really slow, often faster than RCDoubleMatrix2D,
+sometimes slightly slower. Efficient methods are:
+<table width="100%" border="1" cellspacing="0">
+ <tr bgcolor="#339933">
+ <td width="20%">Operation</td>
+ <td width="35%">Method</td>
+ <td width="45%">Comment</td>
+ </tr>
+ <tr>
+ <td width="20%">read</td>
+ <td width="35%">get,getQuick</td>
+ <td width="45%">always</td>
+ </tr>
+ <tr>
+ <td width="20%">write</td>
+ <td width="35%">set,setQuick</td>
+ <td width="45%">
+ <p>always</p>
+ </td>
+ </tr>
+ <tr>
+ <td width="20%">matrix-matrix and matrix-vector multiplication</td>
+ <td width="35%">zMult</td>
+ <td width="45%">slightly slower than RCDoubleMatrix when size is large</td>
+ </tr>
+ <tr>
+ <td width="20%">elementwise scaling</td>
+ <td width="35%">assign(f) where f is one of {F.mult(a),F.div(a)}</td>
+ <td width="45%"><tt>x[i,j] = x[i,j] {*,/} a</tt></td>
+ </tr>
+ <tr>
+ <td width="20%">elementwise scaling</td>
+ <td width="35%">assign(y,f) where f is one of {F.plus,F.minus, F.mult,F.div,
+ F.plusMult(a),F.minusMult(a)}
+ </td>
+ <td width="45%"><tt>x[i,j] = x[i,j] {+,-,*,/} y[i,j]<br>
+ x[i,j] = x[i,j] {+,-} y[i,j] {*,/} a</tt></td>
+ </tr>
+ <tr>
+ <td width="20%">copying</td>
+ <td width="35%">assign(othermatrix)</td>
+ <td width="45%">best if othermatrix is a SparseDoubleMatrix2D</td>
+ </tr>
+ <tr>
+ <td width="20%">iteration</td>
+ <td width="35%">forEachNonzero(function)</td>
+ <td width="45%">often the preferred way for iteration and modification</td>
+ </tr>
+ <tr>
+ <td width="20%"> </td>
+ <td width="35%"> </td>
+ <td width="45%"> </td>
+ </tr>
+</table>
+</BODY>
+</HTML>
\ No newline at end of file
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/performanceNotes.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/semanticsOfViews.html
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/semanticsOfViews.html?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/semanticsOfViews.html (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/semanticsOfViews.html Mon Nov 23 15:14:26 2009
@@ -0,0 +1,69 @@
+<HTML><title>Semantics of Views</title>
+
+<BODY>
+<h1>Semantics of Views</h1>
+<h4>Subranging</h4>
+
+<p>Subranging takes a number of range restrictions and produces a matrix view
+ which has the same number of dimensions but different shape. For example, restricting
+ the range to the last 5 indexes in each dimension again produces a 3-dimensional
+ matrix (view) but now with less extent.
+<h4>Slicing</h4>
+
+<p>Slicing blends out one or more dimensions. It produces a matrix view which
+ is lower dimensional than the original. In the above picture, the second dimension
+ has been fixed to index 2, yielding a flat two-dimensional plate. Since the
+ view has a 2-dimensional type it will accept any operation defined on two-dimensional
+ matrices and may be used as argument to any external method operating on 2-dimensional
+ matrices.
+<h4>Dicing</h4>
+
+<p>Dicing virtually rotates the matrix. It exchanges one or more axes of the coordinate
+ system. Thus, a 3 x 4 matrix can be seen as a 4 x 3 matrix, a 3 x 4 x 5 matrix
+ can be seen as a 5 x 3 x 4 matrix, and so on. Dicing produces a view with the
+ same dimensionality but different shape.
+<h4>Flipping</h4>
+
+<p>Flipping mirrors coordinate systems. What used to be the first index becomes
+ the last, ..., what used to be the last index becomes the first. Thus, a matrix
+ can be seen from the "left", the "right", the "top",
+ the "bottom", the "front", the "backside", etc.
+ Flipping produces a view with the same dimensionality and the same shape.
+<h4>Striding</h4>
+
+<p>Striding blends out all but every i-th cell. It produces a view with the same
+ dimensionality but smaller (or equal) shape.
+<h4>Selecting</h4>
+
+<p>Selecting blends out all but certain indexes of slices, rows, columns. Indexes
+ may have arbitrary order and can occur multiple times. Selecting produces a
+ view with the same dimensionality but different shape (either larger or smaller).
+<h4>Sorting</h4>
+
+<p>Sorting reorders cells along one given dimension. It produces a view with the
+ same dimensionality and the same shape but different cell order.
+<h4></h4>
+<h4>Combinations</h4>
+
+<p>
+
+<p>
+
+<p>All views are orthogonal to each other. They can be powerful tools, particularly
+ when applied in combination. Feeding the result of one view transformation into
+ another transformation can do complex things.
+<h4>Copying, Assignment & Equality</h4>
+
+<p>
+
+<p>Any matrix and view can be copied. Copying yields a new matrix <i>equal</i>
+ to the original (view) but entirely independent of the original. So changes
+ in the copy are not reflected in the original, and vice-versa. <br>
+ Two matrices are <i>equal</i> if they have the same dimensionality (rank), value
+ type, shape and <i>identical</i> values in corresponding cells. <br>
+ Assignment copies the cell values of one matrix into another matrix. Both matrices
+ must have the same dimensionality and shape.
+
+<p> </p>
+</BODY>
+</HTML>
\ No newline at end of file
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/semanticsOfViews.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/sparse.html
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/sparse.html?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/sparse.html (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/sparse.html Mon Nov 23 15:14:26 2009
@@ -0,0 +1,41 @@
+<HTML><title></title>
+
+<BODY>
+<p>A few more words about sparse matrices. In practice, sparse matrices are used
+ for one of two reasons: To safe memory or to speed up computation. Hash based
+ sparse matrices are neither the smallest possible matrix representation nor
+ the fastest. They implement a reasonable trade-off between performance and memory:
+ Very good average performance on get/set operations at quite small memory footprint.
+ However, they are not particularly suited for special-purpose algorithms exploiting
+ explicit knowledge about what regions are zero and non-zero. For example, sparse
+ linear algebraic matrix multiplies, inversions, etc. better work on other sparse
+ matrix representations like, for example, Harwell-Boeing. Harwell-Boeing also
+ has smaller memory footprint. However, those alternative sparse matrix representations
+ are really only usable for special purposes, because their get/set performance
+ is typically very bad. In contrast, hash based sparse matrices are more generally
+ applicable data structures.<br>
+</p>
+
+<p>Finally note, that some algorithms exploiting sparsity can be expressed in
+ a generic manner, without needing to know or dictate a special internal storage
+ format. For example, in many linear algebraic operations (like the matrix multiply)
+ the dot product is in the inner-most loop of a cubic or quadratic loop, where
+ one operand of the dot product "changes slowly". Detecting sparsity
+ in the blocked "slow changing" operand and using a quick generic dot
+ product algorithm summing only non-zero cells can drastically improve performance
+ without needing to resort to special storage formats. Imagine a 500 x 500 <tt>DenseDoubleMatrix2D</tt>
+ or <tt>SparseDoubleMatrix2D</tt> which is in fact populated with only one (or
+ few) non-zero cells per row. The innermost loop of the cubic matrix multiply
+ is reduced from 500 steps to 1 step, resulting in an algorithm that in benchmarks
+ runs about 50 times quicker (up to 500 "virtual" Mflops on a now outdated
+ processor Pentium 200Mhz, running NT, SunJDK1.2.2, java -classic, <tt>DenseDoubleMatrix2D</tt>.
+ The theoretical speedup of 500 cannot be achieved). Because the performance
+ overhead of sparsity detection is negligible (some 5%), this is the way the
+ linear algebraic matrix-matrix and matrix-vector multiplications of this toolkit
+ are implemented. </p>
+
+<p>To summarize, generic algorithms can often detect and exploit sparsity with
+ insignificant overhead, without needing to know or dictate a special matrix
+ storage format.</p>
+</BODY>
+</HTML>
\ No newline at end of file
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doc-files/sparse.html
------------------------------------------------------------------------------
svn:eol-style = native
Added: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doublealgo/DoubleMatrix1DComparator.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doublealgo/DoubleMatrix1DComparator.java?rev=883365&view=auto
==============================================================================
--- lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doublealgo/DoubleMatrix1DComparator.java (added)
+++ lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doublealgo/DoubleMatrix1DComparator.java Mon Nov 23 15:14:26 2009
@@ -0,0 +1,82 @@
+/*
+Copyright � 1999 CERN - European Organization for Nuclear Research.
+Permission to use, copy, modify, distribute and sell this software and its documentation for any purpose
+is hereby granted without fee, provided that the above copyright notice appear in all copies and
+that both that copyright notice and this permission notice appear in supporting documentation.
+CERN makes no representations about the suitability of this software for any purpose.
+It is provided "as is" without expressed or implied warranty.
+*/
+package org.apache.mahout.colt.matrix.doublealgo;
+
+import org.apache.mahout.colt.matrix.DoubleMatrix1D;
+/**
+ * A comparison function which imposes a <i>total ordering</i> on some
+ * collection of elements. Comparators can be passed to a sort method (such as
+ * <tt>org.apache.mahout.colt.matrix.doublealgo.Sorting.quickSort</tt>) to allow precise control over the sort order.<p>
+ *
+ * Note: It is generally a good idea for comparators to implement
+ * <tt>java.io.Serializable</tt>, as they may be used as ordering methods in
+ * serializable data structures. In
+ * order for the data structure to serialize successfully, the comparator (if
+ * provided) must implement <tt>Serializable</tt>.<p>
+ *
+ * @author wolfgang.hoschek@cern.ch
+ * @version 1.0, 09/24/99
+ * @see java.util.Comparator
+ * @see org.apache.mahout.colt
+ * @see org.apache.mahout.colt.Sorting
+ */
+/**
+ * @deprecated until unit tests are in place. Until this time, this class/interface is unsupported.
+ */
+@Deprecated
+public interface DoubleMatrix1DComparator {
+/**
+ * Compares its two arguments for order. Returns a negative integer,
+ * zero, or a positive integer as the first argument is less than, equal
+ * to, or greater than the second.<p>
+ *
+ * The implementor must ensure that <tt>sgn(compare(x, y)) ==
+ * -sgn(compare(y, x))</tt> for all <tt>x</tt> and <tt>y</tt>. (This
+ * implies that <tt>compare(x, y)</tt> must throw an exception if and only
+ * if <tt>compare(y, x)</tt> throws an exception.)<p>
+ *
+ * The implementor must also ensure that the relation is transitive:
+ * <tt>((compare(x, y)>0) && (compare(y, z)>0))</tt> implies
+ * <tt>compare(x, z)>0</tt>.<p>
+ *
+ * Finally, the implementer must ensure that <tt>compare(x, y)==0</tt>
+ * implies that <tt>sgn(compare(x, z))==sgn(compare(y, z))</tt> for all
+ * <tt>z</tt>.<p>
+ *
+ *
+ * @return a negative integer, zero, or a positive integer as the
+ * first argument is less than, equal to, or greater than the
+ * second.
+ */
+int compare(DoubleMatrix1D o1, DoubleMatrix1D o2);
+/**
+ *
+ * Indicates whether some other object is "equal to" this
+ * Comparator. This method must obey the general contract of
+ * <tt>Object.equals(Object)</tt>. Additionally, this method can return
+ * <tt>true</tt> <i>only</i> if the specified Object is also a comparator
+ * and it imposes the same ordering as this comparator. Thus,
+ * <code>comp1.equals(comp2)</code> implies that <tt>sgn(comp1.compare(o1,
+ * o2))==sgn(comp2.compare(o1, o2))</tt> for every element
+ * <tt>o1</tt> and <tt>o2</tt>.<p>
+ *
+ * Note that it is <i>always</i> safe <i>not</i> to override
+ * <tt>Object.equals(Object)</tt>. However, overriding this method may,
+ * in some cases, improve performance by allowing programs to determine
+ * that two distinct Comparators impose the same order.
+ *
+ * @param obj the reference object with which to compare.
+ * @return <code>true</code> only if the specified object is also
+ * a comparator and it imposes the same ordering as this
+ * comparator.
+ * @see java.lang.Object#equals(java.lang.Object)
+ * @see java.lang.Object#hashCode()
+ */
+boolean equals(Object obj);
+}
Propchange: lucene/mahout/trunk/matrix/src/main/java/org/apache/mahout/matrix/matrix/doublealgo/DoubleMatrix1DComparator.java
------------------------------------------------------------------------------
svn:eol-style = native