Cross-binding benchmark — thread sweep

Same matrix as the main page, but with thread counts 1, 3 and 10 shown in separate per-(algorithm, thread) sections. External libraries (sklearn, pls, ropls, mixOmics, plsregress, ikpls) typically don’t accelerate their inner loops with thread count — only their linked BLAS does, and that helps only when the algo is GEMM-bound. pls4all bindings use OpenMP at the C kernel level on top of the BLAS, so multi-thread wins are visible here.

Generated: 2026-05-30 10:15:30 UTC CSV: tmpnxk259td.csv (1992 cells)

Host

CPU

12th Gen Intel(R) Core(TM) i9-12900K

Cores

12 physical / 24 logical

Frequency

3187 MHz nominal

L3 cache

30720 KB

RAM

62.7 GB

OS / kernel

Linux 6.6.87.2-microsoft-standard-WSL2 (x86_64) · kernel 6.6.87.2-microsoft-standard-WSL2

Python

3.11.15

How to read a cell

Each cell shows <reported_ms> <gate>. C++ and external library cells use Gate 2, the reference parity against the method’s canonical oracle. Internal binding cells use Gate 1, the binding parity against the native C++ baseline:

  • ✓ exact/pass — gate-specific tolerance passed

  • ⚠ drift — finite mismatch, below 10× the method’s gate-2 tolerance or below the binding drift band

  • ✗ divergent — outside the gate’s tolerance band

  • ⏳ cell hit the 24 h wall-clock guard

  • — see Why a cell is empty below

Bold = fastest cell on the row, counted only among cells whose relevant gate is ✓. For internal bindings that is Gate 1; for C++ and external libraries it is Gate 2. Drift / divergent / empty cells never carry the bold.

Timing uses the adaptive protocol: run #1 is the warmstart; if run #1 exceeds 5 min it is reported and the cell stops. Otherwise run #2 is the first scored sample and the warmstart is excluded. A 2-run cell reports run #2 alone; a 3-run cell reports the mean of runs #2-#3; 10/20/40-run cells report the median of runs after the warmstart. All backends in a single cell read the same orchestrator-generated CSV dataset. See methodology.md for the full details.

Why a cell is empty (—)

An empty cell means the backend did not produce a timing for that (algorithm, size) combination. Four distinct reasons, all reported as — in the matrix:

  1. External library doesn’t implement the algorithm. Example: sklearn has no native CPPLS or sparse SIMPLS; plsregress (Octave) only does plain PLS; ikpls is plain PLS only; ropls only does OPLS; mixOmics covers PLS / sparse PLS / PLS-DA. Filling this column requires the external maintainer to add the algorithm — out of our control.

  2. pls4all wrapper missing for that algorithm. Example: pls4all.sklearn (tier 2) doesn’t yet ship a class for continuum_regression or kernel_pls; pls4all.R.formula doesn’t have a formula wrapper for every algorithm yet. This is the path we still need to cover on our side — visible TODO.

  3. Bench script missing the dispatch case. A few cells can fail because a binding bench script doesn’t yet route a specific algorithm to its underlying call. Pure tooling gap, no library impact.

  4. Run too slow / OOM / crashed. The cell hit the 24 h guard (⏳) or raised a runtime error.

Each — represents one of these four reasons. The CSV (results/full_matrix.csv) carries a reason column that tells you exactly which one for any given cell.

Column names: anything starting with pls4all. is one of this project’s bindings; the others use their real package name (sklearn, ikpls, pls, ropls, mixOmics, plsregress). Every algorithm table keeps every column — — cells are intentional and show where coverage is still missing, either on our side (an algorithm not yet wrapped in a tier-2 class) or on the external side (e.g. sklearn doesn’t implement CPPLS / OPLS, plsregress only does plain PLS, ikpls only does plain PLS). Full per-column description: see Backend definitions at the bottom of this page.

aom_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

4.20 ms ✓

4.30 ms ✓

4.16 ms ✓

4.15 ms ✓

7.84 ms ✓

9.43 ms ✓

9.87 ms ✓

17.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

41.9 ms ✓

—

—

—

—

—

—

aom_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

14.6 ms ✓

25.3 ms ✓

8.48 ms ✓

14.7 ms ✓

27.0 ms ✓

40.4 ms ✓

47.9 ms ✓

50.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

59.7 ms ✓

—

—

—

—

—

—

aom_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

23.7 ms ✓

20.5 ms ✓

23.7 ms ✓

15.5 ms ✓

13.4 ms ✓

16.4 ms ✓

12.4 ms ✓

12.9 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

16.6 ms ✓

—

—

—

—

—

—

aom_preprocess — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.85 ms ✓

2.52 ms ✓

1.76 ms ✓

1.75 ms ✓

6.07 ms ✓

7.96 ms ✓

7.33 ms ✓

6.56 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.13 ms ✓

—

—

—

—

—

—

aom_preprocess — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

2.95 ms ✓

2.04 ms ✓

1.74 ms ✓

3.37 ms ✓

10.4 ms ✓

35.7 ms ✓

32.9 ms ✓

29.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

11.5 ms ✓

—

—

—

—

—

—

aom_preprocess — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.32 ms ✓

5.02 ms ✓

7.59 ms ✓

4.10 ms ✓

9.94 ms ✓

9.00 ms ✓

8.32 ms ✓

8.97 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

1.87 ms ✓

—

—

—

—

—

—

approximate_press — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

28.4 ms ✓

28.0 ms ✓

28.1 ms ✓

28.1 ms ✓

24.7 ms ✓

25.5 ms ✓

25.7 ms ✓

25.3 ms ✓

—

69.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

approximate_press — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

28.9 ms ✓

28.8 ms ✓

28.8 ms ✓

28.8 ms ✓

24.9 ms ✓

25.2 ms ✓

25.4 ms ✓

25.5 ms ✓

—

69.2 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

approximate_press — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

29.4 ms ✓

28.9 ms ✓

28.6 ms ✓

28.9 ms ✓

24.5 ms ✓

25.0 ms ✓

25.2 ms ✓

24.9 ms ✓

—

67.7 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

bagging_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

9.82 ms ✓

10.2 ms ✓

9.30 ms ✓

1.69 ms ✗

4.62 ms ✗

6.41 ms ✗

4.93 ms ✗

5.11 ms ✗

11.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

bagging_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

21.7 ms ✓

31.0 ms ✓

60.8 ms ✓

11.4 ms ✗

25.2 ms ✗

40.6 ms ✗

45.0 ms ✗

46.3 ms ✗

56.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

bagging_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

27.8 ms ✓

24.9 ms ✓

12.7 ms ✓

2.54 ms ✗

5.73 ms ✗

6.42 ms ✗

7.41 ms ✗

7.63 ms ✗

14.2 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

bipls_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.83 ms ✓

4.36 ms ✓

3.60 ms ✓

3.69 ms ✓

8.26 ms ✓

11.7 ms ✓

8.83 ms ✓

9.90 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

365.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

bipls_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.49 ms ✓

3.49 ms ✓

3.58 ms ✓

3.74 ms ✓

9.93 ms ✓

25.5 ms ✓

24.8 ms ✓

15.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

1.0 s ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

bipls_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

14.3 ms ✓

17.7 ms ✓

13.4 ms ✓

5.97 ms ✓

23.9 ms ✓

35.4 ms ✓

21.7 ms ✓

16.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

333.9 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

boosting_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.23 ms ✓

1.23 ms ✓

1.52 ms ✓

2.07 ms ✗

5.05 ms ✗

4.95 ms ✗

6.27 ms ✗

6.92 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

18.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

boosting_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.25 ms ✓

1.26 ms ✓

1.25 ms ✓

1.79 ms ✗

4.47 ms ✗

4.80 ms ✗

5.37 ms ✗

6.14 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

16.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

boosting_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.27 ms ✓

1.27 ms ✓

1.70 ms ✓

2.85 ms ✗

9.14 ms ✗

8.90 ms ✗

14.2 ms ✗

11.2 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

30.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

bve_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

510.0 ms ✓

443.3 ms ✓

563.8 ms ✓

42.4 ms ✗

58.7 ms ✗

66.5 ms ✗

141.0 ms ✗

152.1 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

46.9 ms ✓

—

—

—

—

—

bve_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

491.1 ms ✓

481.4 ms ✓

491.1 ms ✓

43.0 ms ✗

61.4 ms ✗

62.6 ms ✗

61.3 ms ✗

62.1 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

47.3 ms ✓

—

—

—

—

—

bve_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

507.2 ms ✓

1.1 s ✓

479.8 ms ✓

43.9 ms ✗

61.3 ms ✗

62.1 ms ✗

60.9 ms ✗

109.1 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

45.8 ms ✓

—

—

—

—

—

cars_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

780.7 ms ✓

752.8 ms ✓

772.6 ms ✓

—

13.3 ms ✗

10.2 ms ✗

13.3 ms ✗

16.4 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

188.9 ms ✓

—

—

—

—

cars_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

767.0 ms ✓

824.3 ms ✓

761.2 ms ✓

—

5.13 ms ✗

5.78 ms ✗

5.70 ms ✗

5.88 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

62.9 ms ✓

—

—

—

—

cars_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

881.2 ms ✓

1.9 s ✓

802.5 ms ✓

—

4.98 ms ✗

5.70 ms ✗

5.76 ms ✗

5.89 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

63.6 ms ✓

—

—

—

—

continuum_regression — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.73 ms ✓

2.76 ms ✓

2.63 ms ✓

2.77 ms ✓

5.55 ms ✓

6.02 ms ✓

6.62 ms ✓

6.62 ms ✓

—

—

—

—

—

—

—

—

—

2.27 ms ✓

31.6 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

continuum_regression — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.70 ms ✓

2.65 ms ✓

2.65 ms ✓

2.83 ms ✓

5.33 ms ✓

6.41 ms ✓

6.57 ms ✓

6.49 ms ✓

—

—

—

—

—

—

—

—

—

2.39 ms ✓

31.6 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

continuum_regression — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.70 ms ✓

2.71 ms ✓

2.76 ms ✓

2.93 ms ✓

6.21 ms ✓

6.41 ms ✓

6.57 ms ✓

7.10 ms ✓

—

—

—

—

—

—

—

—

—

4.06 ms ✓

49.0 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

cppls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.88 ms ✓

1.79 ms ✓

1.87 ms ✓

1.97 ms ✓

4.57 ms ✓

5.65 ms ✓

10.6 ms ✗

6.07 ms ✗

—

9.91 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

cppls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.78 ms ✓

1.76 ms ✓

1.79 ms ✓

1.97 ms ✓

4.38 ms ✓

5.49 ms ✓

10.6 ms ✗

6.44 ms ✗

—

9.85 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

cppls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.69 ms ✓

1.86 ms ✓

1.80 ms ✓

1.95 ms ✓

4.57 ms ✓

5.38 ms ✓

11.1 ms ✗

6.59 ms ✗

—

10.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

di_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.58 ms ✓

2.57 ms ✓

2.74 ms ✓

2.82 ms ✓

9.69 ms ✓

12.4 ms ✓

12.4 ms ✓

12.8 ms ✓

—

—

—

—

—

—

—

3.78 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

di_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.80 ms ✓

2.69 ms ✓

2.70 ms ✓

2.98 ms ✓

9.91 ms ✓

12.2 ms ✓

11.2 ms ✓

12.9 ms ✓

—

—

—

—

—

—

—

3.79 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

di_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.74 ms ✓

2.81 ms ✓

2.82 ms ✓

2.95 ms ✓

11.1 ms ✓

14.0 ms ✓

12.4 ms ✓

13.0 ms ✓

—

—

—

—

—

—

—

3.92 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

ds — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.64 ms ✓

1.73 ms ✓

2.09 ms ✓

2.27 ms ✓

10.2 ms ✓

14.0 ms ✓

12.6 ms ✓

11.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

31.0 ms ✓

—

—

—

—

—

—

—

—

—

—

ds — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

3.32 ms ✓

1.44 ms ✓

1.57 ms ✓

1.72 ms ✓

11.1 ms ✓

11.8 ms ✓

13.0 ms ✓

10.7 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

27.8 ms ✓

—

—

—

—

—

—

—

—

—

—

ds — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.42 ms ✓

1.94 ms ✓

2.13 ms ✓

1.72 ms ✓

8.95 ms ✓

9.70 ms ✓

10.1 ms ✓

9.43 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

28.0 ms ✓

—

—

—

—

—

—

—

—

—

—

ecr — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.16 ms ✓

2.15 ms ✓

2.24 ms ✓

2.37 ms ✓

5.88 ms ✓

6.96 ms ✓

8.61 ms ✓

7.41 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

62.4 ms ✓

—

ecr — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.19 ms ✓

2.19 ms ✓

2.14 ms ✓

2.32 ms ✓

5.03 ms ✓

6.42 ms ✓

6.08 ms ✓

6.40 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

61.5 ms ✓

—

ecr — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.11 ms ✓

2.24 ms ✓

2.16 ms ✓

2.27 ms ✓

5.42 ms ✓

7.74 ms ✓

6.36 ms ✓

6.53 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

92.2 ms ✓

—

emcuve_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.3 s ✓

1.3 s ✓

1.3 s ✓

1.98 ms ✓

4.51 ms ✓

5.44 ms ✓

5.57 ms ✓

5.25 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

922.4 ms ✓

—

—

—

—

—

emcuve_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.3 s ✓

1.3 s ✓

1.3 s ✓

2.00 ms ✓

4.69 ms ✓

5.25 ms ✓

6.05 ms ✓

5.99 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

918.1 ms ✓

—

—

—

—

—

emcuve_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.3 s ✓

1.3 s ✓

1.3 s ✓

1.90 ms ✓

4.22 ms ✓

5.03 ms ✓

5.01 ms ✓

4.95 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

907.4 ms ✓

—

—

—

—

—

fused_sparse_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.93 ms —

1.86 ms ✓

1.95 ms ✓

2.13 ms ✓

6.13 ms ✓

7.70 ms ✓

7.80 ms ✓

7.55 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

fused_sparse_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.88 ms —

1.87 ms ✓

1.88 ms ✓

2.09 ms ✓

6.14 ms ✓

7.73 ms ✓

7.53 ms ✓

8.04 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

fused_sparse_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.87 ms —

1.95 ms ✓

1.97 ms ✓

2.02 ms ✓

6.56 ms ✓

8.64 ms ✓

8.65 ms ✓

8.07 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

ga_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

607.6 ms ✓

625.8 ms ✓

756.5 ms ✓

3.94 ms ✗

7.38 ms ✗

8.59 ms ✗

9.76 ms ✗

16.0 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

218.7 ms ✓

—

—

—

—

—

ga_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

628.1 ms ✓

829.6 ms ✓

600.8 ms ✓

3.94 ms ✗

7.17 ms ✗

7.95 ms ✗

8.03 ms ✗

8.10 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

425.9 ms ✓

—

—

—

—

—

ga_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

626.6 ms ✓

690.0 ms ✓

1.8 s ✓

3.88 ms ✗

7.01 ms ✗

7.86 ms ✗

7.89 ms ✗

7.57 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

226.4 ms ✓

—

—

—

—

—

gpr_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

120×25

5.91 ms ✓

6.75 ms ✓

6.17 ms ✓

2.75 ms ✓

20.9 ms ✓

12.6 ms ✓

14.2 ms ✓

8.10 ms ✓

2.25 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

gpr_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

120×25

1.14 ms ✓

1.30 ms ✓

2.43 ms ✓

2.72 ms ✓

4.45 ms ✓

5.61 ms ✓

6.64 ms ✓

6.10 ms ✓

2.75 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

gpr_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

120×25

1.14 ms ✓

1.86 ms ✓

1.80 ms ✓

1.39 ms ✓

2.53 ms ✓

3.11 ms ✓

3.10 ms ✓

3.24 ms ✓

2.29 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

group_sparse_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

8.36 ms ✓

4.69 ms ✓

7.86 ms ✓

3.79 ms ✗

9.70 ms ✗

11.0 ms ✗

11.0 ms ✗

10.2 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.98 ms ✓

—

—

—

—

—

—

—

33.7 ms —

—

—

—

—

—

—

—

group_sparse_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.62 ms ✓

3.88 ms ✓

2.76 ms ✓

2.28 ms ✗

8.78 ms ✗

9.80 ms ✗

10.5 ms ✗

11.9 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

3.11 ms ✓

—

—

—

—

—

—

—

31.2 ms —

—

—

—

—

—

—

—

group_sparse_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.91 ms ✓

2.82 ms ✓

2.69 ms ✓

2.53 ms ✗

7.45 ms ✗

9.19 ms ✗

8.50 ms ✗

11.3 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.66 ms ✓

—

—

—

—

—

—

—

26.7 ms —

—

—

—

—

—

—

—

interval_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.5 s ✓

2.0 s ✓

1.5 s ✓

3.75 ms ✗

10.9 ms ✗

11.7 ms ✗

10.3 ms ✗

13.9 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

632.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

interval_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

2.0 s ✓

968.0 ms ✓

2.0 s ✓

3.95 ms ✗

8.51 ms ✗

9.33 ms ✗

9.36 ms ✗

7.09 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

706.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

interval_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.1 s ✓

1.0 s ✓

994.2 ms ✓

2.26 ms ✗

5.63 ms ✗

6.68 ms ✗

7.03 ms ✗

6.61 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

507.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

ipw_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

360.4 ms ✓

358.1 ms ✓

366.9 ms ✓

1.81 ms ✗

4.86 ms ✗

5.51 ms ✗

5.86 ms ✗

5.15 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

22.0 ms ✓

—

—

—

—

—

ipw_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

368.1 ms ✓

372.0 ms ✓

358.9 ms ✓

1.82 ms ✗

4.32 ms ✗

5.47 ms ✗

5.37 ms ✗

5.38 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

20.7 ms ✓

—

—

—

—

—

ipw_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

392.3 ms ✓

388.3 ms ✓

392.5 ms ✓

1.86 ms ✗

4.39 ms ✗

5.60 ms ✗

5.70 ms ✗

5.39 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

26.2 ms ✓

—

—

—

—

—

irf_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

120×30

—

—

—

2.02 ms ✓

2.92 ms ✓

3.44 ms ✓

3.91 ms ✓

3.37 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

irf_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

120×30

—

—

—

1.53 ms ✓

2.93 ms ✓

3.29 ms ✓

3.55 ms ✓

3.58 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

irf_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

120×30

—

—

—

1.53 ms ✓

2.56 ms ✓

3.34 ms ✓

3.57 ms ✓

3.55 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

iriv_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

268.0 ms ✓

269.9 ms ✓

270.2 ms ✓

25.3 ms ✗

29.4 ms ✗

30.0 ms ✗

30.5 ms ✗

30.8 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

274.8 ms ✓

iriv_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

273.2 ms ✓

265.7 ms ✓

267.2 ms ✓

25.1 ms ✗

29.8 ms ✗

30.8 ms ✗

30.3 ms ✗

30.6 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

275.1 ms ✓

iriv_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

274.2 ms ✓

267.6 ms ✓

275.4 ms ✓

25.4 ms ✗

29.9 ms ✗

30.7 ms ✗

30.7 ms ✗

31.0 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

270.7 ms ✓

kernel_pls_rbf — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

3.07 ms ✓

3.02 ms ✓

3.23 ms ✓

3.23 ms ✓

6.34 ms ✓

7.05 ms ✓

7.21 ms ✓

6.83 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

28.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

kernel_pls_rbf — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

3.12 ms ✓

3.15 ms ✓

3.17 ms ✓

3.29 ms ✓

5.98 ms ✓

7.13 ms ✓

7.20 ms ✓

7.16 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

27.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

kernel_pls_rbf — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

3.18 ms ✓

3.18 ms ✓

3.14 ms ✓

3.22 ms ✓

6.09 ms ✓

7.28 ms ✓

7.41 ms ✓

7.22 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

40.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

lw_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

25.6 ms ✓

13.3 ms ✓

37.2 ms ✓

9.19 ms ✗

20.3 ms ✗

23.2 ms ✗

23.2 ms ✗

24.6 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

23.9 ms ✓

—

—

—

—

—

—

lw_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

10.8 ms ✓

10.0 ms ✓

10.3 ms ✓

4.44 ms ✗

9.02 ms ✗

10.0 ms ✗

11.1 ms ✗

10.8 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

23.7 ms ✓

—

—

—

—

—

—

lw_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

11.8 ms ✓

11.9 ms ✓

12.9 ms ✓

5.14 ms ✗

9.85 ms ✗

9.03 ms ✗

12.1 ms ✗

11.2 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

29.0 ms ✓

—

—

—

—

—

—

mb_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×60

2.37 ms ✓

2.73 ms ✓

2.85 ms ✓

2.59 ms ✓

7.82 ms ✓

10.9 ms ✓

10.2 ms ✓

11.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.99 ms ✓

—

—

—

—

—

—

mb_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×60

2.33 ms ✓

2.82 ms ✓

2.24 ms ✓

2.55 ms ✓

7.24 ms ✓

10.4 ms ✓

9.18 ms ✓

9.38 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

7.12 ms ✓

—

—

—

—

—

—

mb_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×60

13.6 ms ✓

8.23 ms ✓

8.63 ms ✓

9.61 ms ✓

30.4 ms ✓

46.5 ms ✓

41.0 ms ✓

48.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

9.70 ms ✓

—

—

—

—

—

—

mir_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.19 ms —

1.21 ms ✓

1.27 ms ✓

1.47 ms ✓

3.98 ms ✓

4.72 ms ✓

5.04 ms ✓

5.11 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

mir_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.33 ms —

1.28 ms ✓

1.29 ms ✓

1.43 ms ✓

4.49 ms ✓

5.07 ms ✓

4.94 ms ✓

5.39 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

mir_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.22 ms —

2.14 ms ✓

1.99 ms ✓

1.41 ms ✓

4.09 ms ✓

5.05 ms ✓

4.83 ms ✓

4.73 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

missing_aware_nipals — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.27 ms ✓

1.24 ms ✓

1.25 ms ✓

1.39 ms ✓

4.25 ms ✓

4.88 ms ✓

4.85 ms ✓

5.41 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.6 ms ✓

—

—

—

—

—

—

—

—

—

missing_aware_nipals — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.22 ms ✓

1.24 ms ✓

1.36 ms ✓

1.37 ms ✓

4.02 ms ✓

4.84 ms ✓

4.63 ms ✓

4.88 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.9 ms ✓

—

—

—

—

—

—

—

—

—

missing_aware_nipals — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.34 ms ✓

1.92 ms ✓

1.79 ms ✓

3.36 ms ✓

12.2 ms ✓

16.6 ms ✓

18.2 ms ✓

12.2 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

29.9 ms ✓

—

—

—

—

—

—

—

—

—

n_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×48

19.5 ms ✓

19.3 ms ✓

19.0 ms ✓

2.03 ms ✗

4.51 ms ✗

5.67 ms ✗

5.68 ms ✗

5.37 ms ✗

—

—

—

—

—

—

—

—

—

—

—

19.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

n_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×48

19.1 ms ✓

18.9 ms ✓

20.3 ms ✓

1.97 ms ✗

6.01 ms ✗

6.25 ms ✗

6.14 ms ✗

5.93 ms ✗

—

—

—

—

—

—

—

—

—

—

—

19.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

n_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×48

18.9 ms ✓

20.0 ms ✓

19.4 ms ✓

1.87 ms ✗

4.84 ms ✗

5.52 ms ✗

5.46 ms ✗

5.17 ms ✗

—

—

—

—

—

—

—

—

—

—

—

18.8 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

o2pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.21 ms ✓

1.20 ms ✓

1.19 ms ✓

1.37 ms ✓

2.69 ms ✓

3.44 ms ✓

3.58 ms ✓

3.42 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

7.21 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

o2pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.22 ms ✓

1.24 ms ✓

1.24 ms ✓

1.44 ms ✓

2.78 ms ✓

3.52 ms ✓

3.68 ms ✓

3.53 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

7.41 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

o2pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.24 ms ✓

1.33 ms ✓

2.09 ms ✓

1.45 ms ✓

3.09 ms ✓

3.52 ms ✓

3.25 ms ✓

3.49 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

7.31 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

on_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

6.20 ms ✓

7.71 ms ✓

3.02 ms ✓

2.69 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

12.2 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

on_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.81 ms ✓

1.91 ms ✓

1.91 ms ✓

1.84 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

9.46 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

on_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.91 ms ✓

1.90 ms ✓

2.00 ms ✓

16.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

one_se_rule — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

2.10 ms ✓

2.07 ms ✓

2.08 ms ✓

1.13 ms ✗

3.25 ms ✗

3.87 ms ✗

4.01 ms ✗

3.96 ms ✗

—

11.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

one_se_rule — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

7.61 ms ✓

3.24 ms ✓

2.19 ms ✓

1.23 ms ✗

3.28 ms ✗

4.07 ms ✗

4.00 ms ✗

4.07 ms ✗

—

11.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

one_se_rule — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

2.06 ms ✓

2.06 ms ✓

2.14 ms ✓

1.13 ms ✗

2.80 ms ✗

5.64 ms ✗

4.60 ms ✗

4.37 ms ✗

—

11.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

opls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.87 ms ✓

1.93 ms ✓

1.88 ms ✓

2.12 ms ✓

4.35 ms ✓

5.13 ms ✓

5.40 ms ✓

5.23 ms ✓

—

—

—

—

15.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

opls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.96 ms ✓

1.80 ms ✓

1.79 ms ✓

2.14 ms ✓

6.22 ms ✓

5.57 ms ✓

7.88 ms ✓

7.12 ms ✓

—

—

—

—

16.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

opls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.73 ms ✓

1.92 ms ✓

1.81 ms ✓

1.94 ms ✓

4.17 ms ✓

5.09 ms ✓

5.17 ms ✓

5.39 ms ✓

—

—

—

—

16.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pcr — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.92 ms ✓

2.84 ms ✓

2.95 ms ✓

2.68 ms ✓

5.15 ms ✓

6.41 ms ✓

11.8 ms ✓

6.21 ms ✓

2.71 ms ✓

7.99 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pcr — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.52 ms ✓

2.50 ms ✓

2.50 ms ✓

2.72 ms ✓

5.09 ms ✓

6.36 ms ✓

10.4 ms ✓

6.27 ms ✓

2.85 ms ✓

7.83 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pcr — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.49 ms ✓

2.70 ms ✓

2.73 ms ✓

2.67 ms ✓

4.86 ms ✓

5.87 ms ✓

10.7 ms ✓

6.40 ms ✓

4.94 ms ✓

14.0 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pds — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.37 ms ✓

1.55 ms ✓

1.44 ms ✓

1.86 ms ✓

10.6 ms ✓

10.1 ms ✓

14.2 ms ✓

13.7 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

43.1 ms ✓

—

—

—

—

—

—

—

—

—

—

pds — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

2.54 ms ✓

6.79 ms ✓

2.67 ms ✓

7.45 ms ✓

34.6 ms ✓

34.8 ms ✓

49.1 ms ✓

42.9 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

112.2 ms ✓

—

—

—

—

—

—

—

—

—

—

pds — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

6.67 ms ✓

2.94 ms ✓

3.05 ms ✓

3.01 ms ✓

15.7 ms ✓

18.9 ms ✓

10.5 ms ✓

15.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

35.6 ms ✓

—

—

—

—

—

—

—

—

—

—

pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.70 ms ✓

1.73 ms ✓

1.69 ms ✓

1.97 ms ✓

4.79 ms ✓

5.26 ms ✓

9.99 ms ✓

5.92 ms ✓

2.16 ms ✓

8.01 ms —

1.92 ms —

9.72 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.79 ms ✓

1.74 ms ✓

1.76 ms ✓

1.95 ms ✓

4.43 ms ✓

5.76 ms ✓

10.3 ms ✓

6.29 ms ✓

2.16 ms ✓

7.50 ms —

1.90 ms —

9.82 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.79 ms ✓

1.82 ms ✓

1.78 ms ✓

1.93 ms ✓

4.69 ms ✓

5.49 ms ✓

10.4 ms ✓

5.59 ms ✓

2.17 ms ✓

8.15 ms —

2.04 ms —

9.91 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_cox — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.79 ms ✓

1.84 ms ✓

1.75 ms ✓

2.13 ms ✗

4.52 ms ✗

5.52 ms ✗

5.43 ms ✗

5.51 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.03 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_cox — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.92 ms ✓

1.92 ms ✓

1.97 ms ✓

1.45 ms ✗

4.59 ms ✗

20.3 ms ✗

14.0 ms ✗

14.8 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

6.01 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_cox — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

6.51 ms ✓

7.34 ms ✓

4.69 ms ✓

3.91 ms ✗

9.54 ms ✗

17.4 ms ✗

17.2 ms ✗

12.8 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.02 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_dmodx — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.25 ms ✓

1.30 ms ✓

1.25 ms ✓

1.41 ms ✓

4.16 ms ✓

4.79 ms ✓

4.47 ms ✓

5.71 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

19.8 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_dmodx — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.28 ms ✓

1.31 ms ✓

1.25 ms ✓

1.41 ms ✓

6.86 ms ✓

20.8 ms ✓

18.2 ms ✓

14.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

43.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_dmodx — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

6.12 ms ✓

2.44 ms ✓

2.29 ms ✓

1.45 ms ✓

3.74 ms ✓

4.94 ms ✓

4.64 ms ✓

5.32 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

21.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_q — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.22 ms ✓

1.19 ms ✓

1.19 ms ✓

1.30 ms ✓

3.10 ms ✓

3.57 ms ✓

3.47 ms ✓

3.96 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.8 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_q — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.21 ms ✓

1.20 ms ✓

1.21 ms ✓

1.27 ms ✓

3.11 ms ✓

3.59 ms ✓

3.64 ms ✓

3.52 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.9 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_q — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.23 ms ✓

2.04 ms ✓

1.22 ms ✓

1.36 ms ✓

3.28 ms ✓

3.83 ms ✓

3.74 ms ✓

3.89 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

15.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_t2 — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.19 ms ✓

1.22 ms ✓

1.22 ms ✓

1.31 ms ✓

2.67 ms ✓

3.38 ms ✓

4.11 ms ✓

3.70 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.2 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_t2 — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.19 ms ✓

1.18 ms ✓

1.19 ms ✓

1.37 ms ✓

2.74 ms ✓

3.29 ms ✓

3.70 ms ✓

3.43 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_diagnostic_t2 — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.21 ms ✓

1.32 ms ✓

2.06 ms ✓

1.34 ms ✓

2.78 ms ✓

3.45 ms ✓

3.45 ms ✓

3.65 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_glm — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

3.57 ms ✓

6.25 ms ✓

7.99 ms ✓

2.74 ms ✗

7.97 ms ✗

22.7 ms ✗

18.4 ms ✗

25.8 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

240.6 ms ✓

—

—

—

—

—

—

—

—

—

—

—

pls_glm — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

3.56 ms ✓

13.1 ms ✓

8.04 ms ✓

1.50 ms ✗

4.56 ms ✗

5.18 ms ✗

5.24 ms ✗

5.40 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

138.8 ms ✓

—

—

—

—

—

—

—

—

—

—

—

pls_glm — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

2.07 ms ✓

2.35 ms ✓

2.05 ms ✓

1.46 ms ✗

3.78 ms ✗

5.59 ms ✗

4.78 ms ✗

4.89 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

134.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

pls_lda — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.14 ms ✓

7.18 ms ✓

7.48 ms ✓

—

—

—

—

—

7.32 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_lda — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

6.86 ms ✓

7.83 ms ✓

4.05 ms ✓

—

—

—

—

—

4.54 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_lda — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.95 ms ✓

2.56 ms ✓

2.67 ms ✓

—

—

—

—

—

3.59 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_logistic — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.14 ms ✓

4.04 ms ✓

3.34 ms ✓

—

—

—

—

—

3.44 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_logistic — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.20 ms ✓

3.51 ms ✓

3.81 ms ✓

—

—

—

—

—

23.2 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_logistic — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

4.74 ms ✓

4.34 ms ✓

4.36 ms ✓

—

—

—

—

—

5.41 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_monitoring — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.23 ms ✓

1.23 ms ✓

1.18 ms ✓

1.32 ms ✓

2.90 ms ✓

3.54 ms ✓

3.74 ms ✓

3.81 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.2 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_monitoring — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.19 ms ✓

1.21 ms ✓

2.29 ms ✓

1.41 ms ✓

3.19 ms ✓

4.18 ms ✓

4.17 ms ✓

4.00 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_monitoring — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.26 ms ✓

2.12 ms ✓

1.61 ms ✓

1.34 ms ✓

5.85 ms ✓

9.79 ms ✓

3.84 ms ✓

7.99 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_qda — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

2.65 ms ✓

2.09 ms ✓

2.12 ms ✓

2.11 ms ✗

4.06 ms ✗

4.67 ms ✗

4.99 ms ✗

5.46 ms ✗

2.36 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_qda — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.94 ms ✓

1.90 ms ✓

1.92 ms ✓

1.64 ms ✗

8.84 ms ✗

18.1 ms ✗

13.5 ms ✗

18.2 ms ✗

6.90 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pls_qda — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

5.99 ms ✓

6.01 ms ✓

4.32 ms ✓

1.49 ms ✗

3.90 ms ✗

5.11 ms ✗

5.08 ms ✗

5.10 ms ✗

2.39 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

pop_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

6.24 ms ✓

5.68 ms ✓

7.23 ms ✓

6.51 ms ✓

12.0 ms ✓

12.5 ms ✓

13.2 ms ✓

24.7 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

47.8 ms ✓

—

—

—

—

—

—

pop_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

7.34 ms ✓

11.0 ms ✓

7.46 ms ✓

6.77 ms ✓

13.2 ms ✓

12.9 ms ✓

12.4 ms ✓

10.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

36.4 ms ✓

—

—

—

—

—

—

pop_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

15.3 ms ✓

6.13 ms ✓

11.1 ms ✓

7.06 ms ✓

34.2 ms ✓

22.8 ms ✓

12.5 ms ✓

13.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

38.6 ms ✓

—

—

—

—

—

—

pso_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

219.8 ms ✓

384.2 ms ✓

219.3 ms ✓

4.05 ms ✗

6.11 ms ✗

6.29 ms ✗

7.12 ms ✗

7.33 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

163.8 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

pso_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

169.0 ms ✓

146.5 ms ✓

298.6 ms ✓

3.17 ms ✗

20.9 ms ✗

20.3 ms ✗

24.6 ms ✗

16.0 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

217.8 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

pso_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

165.6 ms ✓

176.8 ms ✓

181.1 ms ✓

2.80 ms ✗

4.19 ms ✗

4.78 ms ✗

4.74 ms ✗

4.76 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

152.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

random_frog_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

—

—

—

2.19 ms ✓

4.98 ms ✓

5.67 ms ✓

5.94 ms ✓

5.96 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

random_frog_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

—

—

—

2.19 ms ✓

4.83 ms ✓

5.64 ms ✓

5.73 ms ✓

5.77 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

random_frog_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

—

—

—

2.19 ms ✓

5.15 ms ✓

5.73 ms ✓

5.71 ms ✓

5.76 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

random_subspace_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

13.5 ms ✓

25.2 ms ✓

13.2 ms ✓

1.54 ms ✗

5.11 ms ✗

5.82 ms ✗

5.56 ms ✗

6.22 ms ✗

13.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

random_subspace_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

12.1 ms ✓

14.6 ms ✓

13.6 ms ✓

2.67 ms ✗

4.41 ms ✗

5.82 ms ✗

6.01 ms ✗

6.51 ms ✗

10.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

random_subspace_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

9.97 ms ✓

10.5 ms ✓

11.1 ms ✓

1.65 ms ✗

4.27 ms ✗

5.12 ms ✗

5.33 ms ✗

7.43 ms ✗

26.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

randomization_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

181.1 ms ✓

182.3 ms ✓

182.5 ms ✓

2.67 ms ✓

6.34 ms ✓

5.94 ms ✓

6.80 ms ✓

6.29 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

54.5 ms ✓

—

—

randomization_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

187.4 ms ✓

192.4 ms ✓

190.6 ms ✓

2.80 ms ✓

6.12 ms ✓

6.58 ms ✓

6.95 ms ✓

6.46 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

57.0 ms ✓

—

—

randomization_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

222.2 ms ✓

218.9 ms ✓

218.8 ms ✓

2.78 ms ✓

6.42 ms ✓

6.83 ms ✓

7.31 ms ✓

7.18 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

56.8 ms ✓

—

—

recursive_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.92 ms ✓

2.82 ms ✓

2.79 ms ✓

3.10 ms ✓

5.74 ms ✓

6.55 ms ✓

7.36 ms ✓

6.99 ms ✓

48.1 ms ✓

141.6 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

recursive_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.87 ms ✓

2.96 ms ✓

2.94 ms ✓

3.11 ms ✓

5.97 ms ✓

6.97 ms ✓

6.92 ms ✓

7.91 ms ✓

46.3 ms ✓

144.8 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

recursive_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.95 ms ✓

2.87 ms ✓

3.02 ms ✓

3.06 ms ✓

5.98 ms ✓

7.42 ms ✓

7.32 ms ✓

6.94 ms ✓

48.7 ms ✓

147.3 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

rep_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

605.7 ms ✓

592.6 ms ✓

588.4 ms ✓

3.35 ms ✗

5.16 ms ✗

6.34 ms ✗

6.07 ms ✗

6.53 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

241.7 ms ✓

—

—

—

—

—

rep_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

589.6 ms ✓

596.3 ms ✓

594.0 ms ✓

2.18 ms ✗

5.01 ms ✗

5.61 ms ✗

5.87 ms ✗

5.95 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

239.4 ms ✓

—

—

—

—

—

rep_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

611.9 ms ✓

615.5 ms ✓

630.6 ms ✓

2.24 ms ✗

4.92 ms ✗

6.09 ms ✗

5.79 ms ✗

5.95 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

246.5 ms ✓

—

—

—

—

—

ridge_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.75 ms ✓

2.14 ms ✓

1.83 ms ✓

1.75 ms ✓

4.62 ms ✓

6.20 ms ✓

5.59 ms ✓

5.56 ms ✓

2.19 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

ridge_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.80 ms ✓

1.87 ms ✓

1.80 ms ✓

1.82 ms ✓

4.67 ms ✓

5.85 ms ✓

5.74 ms ✓

5.48 ms ✓

2.20 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

ridge_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.83 ms ✓

1.86 ms ✓

1.87 ms ✓

1.85 ms ✓

4.60 ms ✓

5.61 ms ✓

6.40 ms ✓

5.92 ms ✓

2.20 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

robust_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.07 ms ✓

1.95 ms ✓

1.95 ms ✓

2.15 ms ✓

4.38 ms ✓

5.55 ms ✓

6.62 ms ✓

5.77 ms ✓

—

—

—

—

—

—

—

—

17.9 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

robust_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.02 ms ✓

2.02 ms ✓

2.00 ms ✓

2.10 ms ✓

5.43 ms ✓

6.63 ms ✓

5.99 ms ✓

5.84 ms ✓

—

—

—

—

—

—

—

—

17.0 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

robust_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

2.05 ms ✓

2.07 ms ✓

1.98 ms ✓

2.25 ms ✓

4.94 ms ✓

7.07 ms ✓

5.68 ms ✓

5.59 ms ✓

—

—

—

—

—

—

—

—

17.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

rosa — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

7.07 ms ✓

2.04 ms ✓

2.41 ms ✓

2.56 ms ✓

5.46 ms ✓

6.38 ms ✓

6.68 ms ✓

6.80 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.9 s —

—

1.43 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

rosa — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.24 ms ✓

1.83 ms ✓

1.36 ms ✓

1.42 ms ✓

3.82 ms ✓

4.80 ms ✓

4.86 ms ✓

5.17 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

1.8 s —

—

6.48 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

rosa — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.33 ms ✓

2.05 ms ✓

1.99 ms ✓

1.42 ms ✓

4.13 ms ✓

4.17 ms ✓

15.6 ms ✓

23.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

2.2 s —

—

6.60 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

scars_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

7.65 ms ✓

6.52 ms ✓

10.2 ms ✓

4.14 ms ✗

4.85 ms ✗

5.55 ms ✗

5.72 ms ✗

5.92 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

3.61 ms ✓

—

—

—

scars_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.71 ms ✓

3.59 ms ✓

3.88 ms ✓

2.29 ms ✗

5.06 ms ✗

7.16 ms ✗

6.17 ms ✗

6.22 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

3.67 ms ✓

—

—

—

scars_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

3.66 ms ✓

3.73 ms ✓

3.91 ms ✓

2.22 ms ✗

4.89 ms ✗

14.1 ms ✗

12.6 ms ✗

17.6 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

9.38 ms ✓

—

—

—

shaving_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.0 s ✓

411.6 ms ✓

440.9 ms ✓

2.32 ms ✗

5.59 ms ✗

7.94 ms ✗

6.29 ms ✗

6.31 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

38.2 ms ✓

—

—

—

—

—

shaving_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

424.1 ms ✓

773.6 ms ✓

445.2 ms ✓

2.24 ms ✗

5.24 ms ✗

5.90 ms ✗

5.99 ms ✗

6.06 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

94.0 ms ✓

—

—

—

—

—

shaving_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

454.0 ms ✓

1.0 s ✓

443.2 ms ✓

2.26 ms ✗

5.07 ms ✗

5.85 ms ✗

5.97 ms ✗

5.96 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

35.1 ms ✓

—

—

—

—

—

sipls_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

2.52 ms —

3.21 ms ✓

3.18 ms ✓

2.82 ms ✓

7.86 ms ✓

8.15 ms ✓

8.12 ms ✓

8.80 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

sipls_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

2.55 ms —

2.52 ms ✓

2.97 ms ✓

3.11 ms ✓

6.18 ms ✓

7.15 ms ✓

7.56 ms ✓

7.20 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

sipls_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

2.55 ms —

2.54 ms ✓

2.57 ms ✓

2.73 ms ✓

6.76 ms ✓

7.43 ms ✓

13.1 ms ✓

18.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

so_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.62 ms ✓

1.62 ms ✓

1.67 ms ✓

1.77 ms ✓

3.26 ms ✓

3.99 ms ✓

4.11 ms ✓

4.00 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

981.7 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

so_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

1.66 ms ✓

1.63 ms ✓

1.69 ms ✓

2.44 ms ✓

22.4 ms ✓

31.5 ms ✓

34.4 ms ✓

31.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

1.5 s ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

so_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×30

7.16 ms ✓

3.23 ms ✓

11.3 ms ✓

11.9 ms ✓

11.3 ms ✓

25.9 ms ✓

9.15 ms ✓

10.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

4.0 s ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

spa_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

499.6 ms ✓

536.6 ms ✓

515.0 ms ✓

1.97 ms ✗

4.72 ms ✗

6.23 ms ✗

5.75 ms ✗

5.86 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

104.0 ms ✓

—

—

—

—

—

spa_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

819.9 ms ✓

554.9 ms ✓

530.6 ms ✓

1.90 ms ✗

5.33 ms ✗

5.81 ms ✗

6.22 ms ✗

10.9 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

164.5 ms ✓

—

—

—

—

—

spa_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

557.0 ms ✓

586.9 ms ✓

514.9 ms ✓

1.89 ms ✗

4.70 ms ✗

5.57 ms ✗

5.17 ms ✗

5.52 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

179.5 ms ✓

—

—

—

—

—

sparse_pls_da — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

7.43 ms ✓

11.1 ms ✓

4.50 ms ✓

2.45 ms ✗

7.20 ms ✓

8.68 ms ✓

8.53 ms ✓

8.43 ms ✓

—

—

—

—

—

—

82.9 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

3.58 ms ✓

—

—

—

—

—

—

—

—

sparse_pls_da — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

12.7 ms ✓

13.4 ms ✓

8.19 ms ✓

5.55 ms ✗

23.8 ms ✓

31.7 ms ✓

15.7 ms ✓

37.4 ms ✓

—

—

—

—

—

—

117.9 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.4 ms ✓

—

—

—

—

—

—

—

—

sparse_pls_da — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

7.83 ms ✓

10.6 ms ✓

7.59 ms ✓

3.94 ms ✗

12.2 ms ✓

47.2 ms ✓

32.6 ms ✓

26.4 ms ✓

—

—

—

—

—

—

91.2 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

6.94 ms ✓

—

—

—

—

—

—

—

—

sparse_simpls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.89 ms ✓

1.82 ms ✓

1.93 ms ✓

1.88 ms ✓

4.60 ms ✓

5.64 ms ✓

5.36 ms ✓

6.30 ms ✓

—

—

—

—

—

3.55 ms ✓

13.4 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

sparse_simpls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.93 ms ✓

1.90 ms ✓

1.87 ms ✓

1.92 ms ✓

4.97 ms ✓

6.05 ms ✓

5.77 ms ✓

6.32 ms ✓

—

—

—

—

—

3.54 ms ✓

12.8 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

sparse_simpls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.91 ms ✓

1.96 ms ✓

1.98 ms ✓

1.95 ms ✓

4.83 ms ✓

5.49 ms ✓

5.74 ms ✓

6.00 ms ✓

—

—

—

—

—

3.58 ms ✓

12.0 ms —

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

st_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

403.7 ms ✓

409.2 ms ✓

418.3 ms ✓

1.82 ms ✗

6.05 ms ✗

5.27 ms ✗

5.46 ms ✗

5.45 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

17.8 ms ✓

—

—

—

—

—

st_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

399.6 ms ✓

401.0 ms ✓

400.5 ms ✓

1.95 ms ✗

4.89 ms ✗

6.39 ms ✗

5.32 ms ✗

8.78 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

17.5 ms ✓

—

—

—

—

—

st_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

429.2 ms ✓

416.4 ms ✓

435.3 ms ✓

1.78 ms ✗

4.31 ms ✗

6.27 ms ✗

5.49 ms ✗

6.77 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

19.4 ms ✓

—

—

—

—

—

stability_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

690.4 ms ✓

820.9 ms ✓

1.7 s ✓

3.70 ms ✗

15.9 ms ✗

6.82 ms ✗

8.38 ms ✗

8.71 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

492.8 ms ✓

—

—

—

—

—

stability_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

727.7 ms ✓

1.3 s ✓

698.1 ms ✓

1.79 ms ✗

6.01 ms ✗

5.91 ms ✗

8.89 ms ✗

6.92 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

259.7 ms ✓

—

—

—

—

—

stability_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

727.3 ms ✓

685.8 ms ✓

1.5 s ✓

1.92 ms ✗

5.39 ms ✗

6.52 ms ✗

6.46 ms ✗

7.32 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

230.9 ms ✓

—

—

—

—

—

t2_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.67 ms —

1.67 ms ✓

1.69 ms ✓

1.83 ms ✓

4.21 ms ✓

6.34 ms ✓

5.80 ms ✓

6.75 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

37.0 ms ✓

—

—

—

—

—

t2_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.67 ms —

1.69 ms ✓

1.69 ms ✓

1.89 ms ✓

5.03 ms ✓

5.50 ms ✓

5.34 ms ✓

5.35 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

35.9 ms ✓

—

—

—

—

—

t2_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.66 ms —

1.80 ms ✓

1.76 ms ✓

1.83 ms ✓

4.63 ms ✓

5.24 ms ✓

5.58 ms ✓

5.78 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

35.4 ms ✓

—

—

—

—

—

uve_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.5 s ✓

1.5 s ✓

1.7 s ✓

3.28 ms ✗

10.3 ms ✗

7.89 ms ✗

6.77 ms ✗

6.20 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

222.0 ms ✓

—

—

—

—

—

uve_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

607.0 ms ✓

680.0 ms ✓

640.4 ms ✓

1.81 ms ✗

4.61 ms ✗

5.51 ms ✗

5.70 ms ✗

5.45 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

397.3 ms ✓

—

—

—

—

—

uve_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

737.2 ms ✓

1.5 s ✓

1.5 s ✓

2.82 ms ✗

9.76 ms ✗

9.70 ms ✗

6.21 ms ✗

5.84 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

230.2 ms ✓

—

—

—

—

—

variable_select_coef — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.56 ms ✓

1.56 ms ✓

1.61 ms ✓

2.87 ms ✓

15.0 ms ✓

9.19 ms ✓

17.2 ms ✓

18.1 ms ✓

—

50.9 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

variable_select_coef — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

11.3 ms ✓

6.96 ms ✓

6.88 ms ✓

7.62 ms ✓

16.9 ms ✓

18.4 ms ✓

17.5 ms ✓

9.25 ms ✓

—

16.3 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

variable_select_coef — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.87 ms ✓

2.01 ms ✓

2.60 ms ✓

1.86 ms ✓

5.27 ms ✓

6.03 ms ✓

6.23 ms ✓

6.17 ms ✓

—

16.5 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

variable_select_sr — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

542.8 ms ✓

1.5 s ✓

1.2 s ✓

8.28 ms ✗

24.1 ms ✗

11.2 ms ✗

31.6 ms ✗

22.3 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

18.9 ms ✓

—

—

—

—

—

variable_select_sr — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

780.0 ms ✓

471.2 ms ✓

377.8 ms ✓

2.81 ms ✗

20.2 ms ✗

7.53 ms ✗

8.23 ms ✗

8.89 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

11.4 ms ✓

—

—

—

—

—

variable_select_sr — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

692.5 ms ✓

464.1 ms ✓

1.3 s ✓

5.57 ms ✗

6.01 ms ✗

8.76 ms ✗

6.89 ms ✗

6.96 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

12.7 ms ✓

—

—

—

—

—

variable_select_vip — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

2.55 ms ✓

2.70 ms ✓

2.47 ms ✓

1.97 ms ✓

6.19 ms ✓

6.51 ms ✓

5.86 ms ✓

6.61 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

16.2 ms ✓

—

—

—

—

—

variable_select_vip — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

8.22 ms ✓

7.00 ms ✓

7.47 ms ✓

2.74 ms ✓

25.1 ms ✓

11.1 ms ✓

17.2 ms ✓

9.03 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

18.5 ms ✓

—

—

—

—

—

variable_select_vip — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

4.22 ms ✓

4.46 ms ✓

4.15 ms ✓

3.66 ms ✓

5.24 ms ✓

6.31 ms ✓

6.29 ms ✓

6.76 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

12.5 ms ✓

—

—

—

—

—

vip_spa_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×40

—

—

—

1.34 ms ✓

2.19 ms ✓

2.80 ms ✓

2.83 ms ✓

2.87 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

vip_spa_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×40

—

—

—

0.86 ms ✓

2.00 ms ✓

3.05 ms ✓

3.05 ms ✓

2.84 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

vip_spa_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×40

—

—

—

0.85 ms ✓

1.92 ms ✓

2.79 ms ✓

3.11 ms ✓

2.95 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

vissa_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

—

—

—

10.8 ms ✓

11.2 ms ✓

11.1 ms ✓

21.4 ms ✓

49.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

vissa_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

—

—

—

13.0 ms ✓

13.9 ms ✓

14.6 ms ✓

11.4 ms ✓

11.4 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

vissa_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

80×25

—

—

—

8.85 ms ✓

11.8 ms ✓

12.5 ms ✓

11.2 ms ✓

13.1 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

weighted_pls — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.93 ms ✓

1.82 ms ✓

1.77 ms ✓

1.92 ms ✓

4.57 ms ✓

5.88 ms ✓

5.23 ms ✓

5.95 ms ✓

2.12 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

weighted_pls — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.81 ms ✓

1.78 ms ✓

1.87 ms ✓

1.84 ms ✓

5.06 ms ✓

5.37 ms ✓

6.02 ms ✓

5.52 ms ✓

2.23 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

weighted_pls — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×50

1.82 ms ✓

1.86 ms ✓

1.91 ms ✓

1.91 ms ✓

4.82 ms ✓

5.68 ms ✓

6.10 ms ✓

5.35 ms ✓

2.18 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

wvc_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.49 ms ✓

1.47 ms ✓

1.48 ms ✓

1.63 ms ✓

4.23 ms ✓

4.97 ms ✓

5.72 ms ✓

5.30 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

14.4 ms ✓

—

—

—

—

—

wvc_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.55 ms ✓

1.57 ms ✓

1.53 ms ✓

1.65 ms ✓

4.24 ms ✓

4.92 ms ✓

5.28 ms ✓

5.18 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.0 ms ✓

—

—

—

—

—

wvc_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

1.50 ms ✓

1.59 ms ✓

2.65 ms ✓

1.68 ms ✓

4.88 ms ✓

6.13 ms ✓

5.46 ms ✓

5.79 ms ✓

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.8 ms ✓

—

—

—

—

—

wvc_threshold_select — 1 thread

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

336.1 ms ✓

344.6 ms ✓

344.7 ms ✓

1.67 ms ✗

4.07 ms ✗

4.66 ms ✗

5.51 ms ✗

4.59 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.0 ms ✓

—

—

—

—

—

wvc_threshold_select — 3 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

304.2 ms ✓

305.7 ms ✓

301.0 ms ✓

1.57 ms ✗

4.31 ms ✗

4.42 ms ✗

4.40 ms ✗

4.35 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

12.7 ms ✓

—

—

—

—

—

wvc_threshold_select — 10 threads

samples × features

pls4all.cpp.blas+omp

pls4all.registry

pls4all.python

pls4all.sklearn

pls4all.R

pls4all.R.formula

pls4all.R.pls_compat

pls4all.R.mdatools_compat

ref.python_scikit_learn

ref.r_pls

ref.python_ikpls

ref.r_mixomics

ref.r_ropls

ref.python_chun_keles_spls

ref.r_spls

ref.python_diplslib

ref.r_chemometrics

ref.python_stone_brooks_1990_py

ref.r_jico

ref.python_tensorly

ref.r_kernlab_pls

ref.r_omicspls

ref.r_mdatools

ref.r_multiblock

ref.python_onpls

ref.python_numpy

ref.python_auswahl

ref.python_pyswarms

ref.r_mboost

ref.r_plsrglm

ref.r_base

ref.r_softimpute

ref.python_chun_keles_splsda

ref.r_sgpls

ref.python_nirs4all

ref.r_plsvarsel

ref.r_enpls

ref.python_scars_numpy_port

ref.r_pls_stats

libPLS

ref.python_iriv_numpy_port

200×40

340.2 ms ✓

334.4 ms ✓

329.0 ms ✓

1.61 ms ✗

4.06 ms ✗

4.70 ms ✗

5.45 ms ✗

5.14 ms ✗

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

—

13.5 ms ✓

—

—

—

—

—

Backend definitions

Each column in the per-algorithm tables above is one of the entries below. Columns are named owner.language[.variant]: pls4all.* are this project’s own bindings; everything else is an external library shipped by its own maintainers.

Column

Language

Tier

What it actually runs

pls4all.cpp.blas+omp

C++

pls4all + BLAS + OpenMP

libn4m built with both PLS4ALL_WITH_BLAS=ON and PLS4ALL_WITH_OPENMP=ON — the recommended production config.

pls4all.registry

Python

pls4all canonical

benchmarks.parity_timing.registry.MethodSpec.pls4all_fn — the canonical per-method pls4all entry point

pls4all.python

Python

pls4all raw

pls4all._methods.<algo>_fit(ctx, cfg, X, y, …) — direct FFI binding

pls4all.sklearn

Python

pls4all idiomatic

pls4all.sklearn.<Class> — sklearn-style BaseEstimator with .fit() / .predict()

pls4all.R

R

pls4all raw

pls4all_method(algo, X, y, ...) — unified dispatcher (33 fits + 24 selectors + 4 diagnostics)

pls4all.R.formula

R

pls4all idiomatic

pls(y ~ ., data), cppls(...), sparse_pls(...), … — base R formula+S3 wrappers

pls4all.R.pls_compat

R

pls4all pls-compatible

plsr() / pcr() for PLS/PCR/CPPLS, formula-built dispatcher path for the rest of the method matrix

pls4all.R.mdatools_compat

R

pls4all mdatools-compatible

pls(x, y, ...) for PLS/PCR/CPPLS, matrix dispatcher path for the rest of the method matrix

ref.python_scikit_learn

external

reference

registry-declared external reference library

ref.r_pls

external

reference

registry-declared external reference library

ref.python_ikpls

external

reference

registry-declared external reference library

ref.r_mixomics

external

reference

registry-declared external reference library

ref.r_ropls

external

reference

registry-declared external reference library

ref.python_chun_keles_spls

external

reference

registry-declared external reference library

ref.r_spls

external

reference

registry-declared external reference library

ref.python_diplslib

external

reference

registry-declared external reference library

ref.r_chemometrics

external

reference

registry-declared external reference library

ref.python_stone_brooks_1990_py

external

reference

registry-declared external reference library

ref.r_jico

external

reference

registry-declared external reference library

ref.python_tensorly

external

reference

registry-declared external reference library

ref.r_kernlab_pls

external

reference

registry-declared external reference library

ref.r_omicspls

external

reference

registry-declared external reference library

ref.r_mdatools

external

reference

registry-declared external reference library

ref.r_multiblock

external

reference

registry-declared external reference library

ref.python_onpls

external

reference

registry-declared external reference library

ref.python_numpy

external

reference

registry-declared external reference library

ref.python_auswahl

external

reference

registry-declared external reference library

ref.python_pyswarms

external

reference

registry-declared external reference library

ref.r_mboost

external

reference

registry-declared external reference library

ref.r_plsrglm

external

reference

registry-declared external reference library

ref.r_base

external

reference

registry-declared external reference library

ref.r_softimpute

external

reference

registry-declared external reference library

ref.python_chun_keles_splsda

external

reference

registry-declared external reference library

ref.r_sgpls

external

reference

registry-declared external reference library

ref.python_nirs4all

external

reference

registry-declared external reference library

ref.r_plsvarsel

external

reference

registry-declared external reference library

ref.r_enpls

external

reference

registry-declared external reference library

ref.python_scars_numpy_port

external

reference

registry-declared external reference library

ref.r_pls_stats

external

reference

registry-declared external reference library

libPLS

external

reference

registry-declared external reference library

ref.python_iriv_numpy_port

external

reference

registry-declared external reference library

Versions per backend

Column

Versions

pls4all.cpp.blas+omp

language=C++ (via ctypes bridge) (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; libopenblas 0.3.33 blas=1; libomp ? openmp=1; libn4m=0.98.0+abi.1.9.0; numpy=2.4.6; registry_method=pls; timing_schema=adaptive-v1

pls4all.registry

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libopenblas 0.3.33 blas=1; libomp ? openmp=1; pls4all=0.98.0; numpy=2.4.6; registry_method=pls; timing_schema=adaptive-v1

pls4all.python

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libopenblas 0.3.33 blas=1; libomp ? openmp=1; pls4all=0.98.0; numpy=2.4.6; registry_method=pls; timing_schema=adaptive-v1

pls4all.sklearn

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libopenblas 0.3.33 blas=1; libomp ? openmp=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; pls4all=0.98.0; numpy=2.4.6; sklearn_class=PLSRegression; timing_schema=adaptive-v1

pls4all.R

language=R 4.3.3; pls4all=0.98.0; registry_method=pls; blas=linked-BLAS; timing_schema=adaptive-v1

pls4all.R.formula

language=R 4.3.3; pls4all=0.98.0; registry_method=pls; formula_facade=True; blas=linked-BLAS; timing_schema=adaptive-v1

pls4all.R.pls_compat

language=R 4.3.3; pls4all=0.98.0; registry_method=pls; facade=pls_compat; formula_facade=True; blas=linked-BLAS; timing_schema=adaptive-v1

pls4all.R.mdatools_compat

language=R 4.3.3; pls4all=0.98.0; registry_method=pls; facade=mdatools_compat; matrix_facade=True; blas=linked-BLAS; timing_schema=adaptive-v1

ref.python_scikit_learn

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_scikit_learn; reference_library=scikit-learn; reference_version=1.8.0; timing_schema=adaptive-v1

ref.r_pls

language=R 4.3.3; pls=2.8.5; timing_schema=adaptive-v1

ref.python_ikpls

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_ikpls; reference_library=ikpls; reference_version=4.0.1.post1; timing_schema=adaptive-v1

ref.r_mixomics

language=R 4.3.3; mixOmics=6.26.0; timing_schema=adaptive-v1

ref.r_ropls

language=R 4.3.3; ropls=1.34.0; timing_schema=adaptive-v1

ref.python_chun_keles_spls

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_chun_keles_spls; reference_library=chun_keles_spls; reference_version=1.0; timing_schema=adaptive-v1

ref.r_spls

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_spls; reference_library=spls; reference_version=2.3.2; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.python_diplslib

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_diplslib; reference_library=diPLSlib; reference_version=2.5.0; timing_schema=adaptive-v1

ref.r_chemometrics

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_chemometrics; reference_library=chemometrics; reference_version=0.7.x; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.python_stone_brooks_1990_py

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=python_stone_brooks_1990_py; reference_library=stone-brooks-1990-py; reference_version=1.0; timing_schema=adaptive-v1

ref.r_jico

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_jico; reference_library=JICO; reference_version=0.1; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.python_tensorly

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_tensorly; reference_library=tensorly; reference_version=0.9.0; timing_schema=adaptive-v1

ref.r_kernlab_pls

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_kernlab_pls; reference_library=kernlab+pls; reference_version=0.9.33+2.8.5; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.r_omicspls

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_omicspls; reference_library=OmicsPLS; reference_version=2.1.0; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.r_mdatools

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_mdatools; reference_library=mdatools; reference_version=0.15.0; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.r_multiblock

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_multiblock; reference_library=multiblock; reference_version=0.8.10; timing_schema=adaptive-v1

ref.python_onpls

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=python_onpls; reference_library=OnPLS; reference_version=github tomlof/OnPLS; timing_schema=adaptive-v1

ref.python_numpy

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=python_numpy; reference_library=numpy; reference_version=2.4.6; timing_schema=adaptive-v1

ref.python_auswahl

—

ref.python_pyswarms

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_pyswarms; reference_library=pyswarms; reference_version=1.3.0; timing_schema=adaptive-v1

ref.r_mboost

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_mboost; reference_library=mboost; reference_version=2.9-11; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.r_plsrglm

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_plsrglm; reference_library=plsRglm; reference_version=1.5.1; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.r_base

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_base; reference_library=base; reference_version=R 4.3.3; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.r_softimpute

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_softimpute; reference_library=softImpute; reference_version=1.4-1; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.python_chun_keles_splsda

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_chun_keles_splsda; reference_library=chun_keles_splsda; reference_version=1.0; timing_schema=adaptive-v1

ref.r_sgpls

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_sgpls; reference_library=sgPLS; reference_version=1.8.1; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.python_nirs4all

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_nirs4all; reference_library=nirs4all; reference_version=in-tree; timing_schema=adaptive-v1

ref.r_plsvarsel

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_plsvarsel; reference_library=plsVarSel; reference_version=0.10.0; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.r_enpls

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_enpls; reference_library=enpls; reference_version=6.1; timing_driver=rscript-batch; timing_schema=adaptive-v1

ref.python_scars_numpy_port

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_scars_numpy_port; reference_library=scars_numpy_port; reference_version=1.0.0; timing_schema=adaptive-v1

ref.r_pls_stats

language=R (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=r_pls_stats; reference_library=pls+stats; reference_version=R 4.3.3; timing_driver=rscript-batch; timing_schema=adaptive-v1

libPLS

language=matlab (host Linux x86_64); blas=libscipy_openblas 0.3.31.188.0 blas=1; numpy=2.4.6; reference_id=matlab_libpls; reference_library=libPLS; reference_version=1.95; timing_schema=adaptive-v1

ref.python_iriv_numpy_port

language=Python 3.11.15; blas=libscipy_openblas 0.3.31.188.0 blas=1; libscipy_openblas 0.3.30 blas=1; libgomp ? openmp=1; numpy=2.4.6; reference_id=python_iriv_numpy_port; reference_library=iriv_numpy_port; reference_version=1.0.0; timing_schema=adaptive-v1

Methodology

  • Gate 1 reference: cpp cell at 1 thread (libn4m via ctypes), or python_tier1 when cpp is unavailable for an algorithm

  • Gate 2 reference: the registry-declared canonical external reference for the method

  • Gate 1 tolerance: 1e-6 max-abs-diff; Gate 2 tolerance: MethodSpec.rmse_rel_tol (also emitted as reference_parity_tolerance by newer CSVs)

  • All backends read the same orchestrator-generated CSV dataset (benchmarks/cross_binding/data/data_<n>x<p>_seed<seed>.csv)

  • Adaptive timing: warmstart run #1; if there is any subsequent run, run #1 is excluded from the score. 2 total runs report run #2 alone; 3 total runs report the mean of runs #2-#3; 10/20/40 total runs report the median after the warmstart.

  • Per-cell timeout guard: 24 h

  • Thread control via OMP_NUM_THREADS = OPENBLAS_NUM_THREADS = MKL_NUM_THREADS = BLIS_NUM_THREADS set in the subprocess env, plus Context.num_threads for Python pls4all and maxNumCompThreads() for Octave

  • pls4all libn4m build: build/blas-omp/cpp/src/libn4m.so (BLAS + OpenMP enabled)