csgillespie / benchmarkme

Crowd sourced benchmarking
https://csgillespie.github.io/benchmarkme/
40 stars 13 forks source link

benchmark_std crashes in cross-product #37

Closed cdiener closed 2 years ago

cdiener commented 3 years ago

benchmark_std does not work for me.

> benchmarkme::benchmark_std()
# Programming benchmarks (5 tests):
    3,500,000 Fibonacci numbers calculation (vector calc): 0.245 (sec).
    Grand common divisors of 1,000,000 pairs (recursion): 0.642 (sec).
    Creation of a 3,500 x 3,500 Hilbert matrix (matrix calc): 0.24 (sec).
    Creation of a 3,000 x 3,000 Toeplitz matrix (loops): 1.42 (sec).
    Escoufier's method on a 60 x 60 matrix (mixed): 1.02 (sec).
# Matrix calculation benchmarks (5 tests):
    Creation, transp., deformation of a 5,000 x 5,000 matrix: 0.545 (sec).
    2,500 x 2,500 normal distributed random matrix^1,000: 0.276 (sec).
    Sorting of 7,000,000 random values: 0.989 (sec).
    2,500 x 2,500 cross-product matrix (b = a' * a): 0.225 (sec).
Error in solve(crossprod(a), crossprod(a, b)) : 
  the leading minor of order 1 is not positive definite
Timing stopped at: 0.122 0.089 0.029
> sessionInfo()
R version 4.0.4 (2021-02-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Debian GNU/Linux bullseye/sid

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3
LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.13.so

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8   
 [7] LC_PAPER=en_US.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
 [1] lattice_0.20-41       codetools_0.2-18      fansi_0.4.2          
 [4] crayon_1.4.1          utf8_1.2.1            foreach_1.5.1        
 [7] dplyr_1.0.5           grid_4.0.4            R6_2.5.0             
[10] lifecycle_1.0.0       magrittr_2.0.1        httr_1.4.2           
[13] pillar_1.5.1          rlang_0.4.10          doParallel_1.0.16    
[16] benchmarkmeData_1.0.4 Matrix_1.3-2          ellipsis_0.3.1       
[19] vctrs_0.3.6           generics_0.1.0        iterators_1.0.13     
[22] tools_4.0.4           glue_1.4.2            benchmarkme_1.0.7    
[25] purrr_0.3.4           parallel_4.0.4        compiler_4.0.4       
[28] pkgconfig_2.0.3       tidyselect_1.1.0      tibble_3.1.0         
> packageVersion("benchmarkme")
[1] ‘1.0.7’
csgillespie commented 3 years ago

This is odd, and I can't reproduce.

My set-up is similar to yours

✓ > sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04.2 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/atlas/libblas.so.3.10.3
LAPACK: /usr/lib/x86_64-linux-gnu/atlas/liblapack.so.3.10.3

Are you still having a problem?