Giter VIP home page Giter VIP logo

autoload-bench's People

Contributors

donquixote avatar seldaek avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

hunslater

autoload-bench's Issues

Actual benchmark results

Here are some numbers!

How to read: https://github.com/donquixote/autoload-bench/wiki/Benchmark-results:-How-to-read-them.

At the top, we have numbers for randomly distributed prefixes.
Further down, we have numbers for the scenario of many-packages-one-vendor.
(e.g. many Drupal modules)

$ php bin/bench

Generating: 5:\10\10 * 3000
-------------------------------

Starting 900 runs (300 classes)

LOADER                                              DURATION    RATIO CLASS_EXISTS
> CLASSMAP: Krautoload:                          5.185710μs  (1.00x) 0           
> CLASSMAP: ClassMap:                            5.193737μs  (1.00x) 0           
> CLASSMAP: KrautoloadSmart:                     5.292813μs  (1.02x) 0           
> CLASSMAP: KrautoloadSmartUnplugged:            5.740881μs  (1.11x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special:   6.138245μs  (1.18x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4:          6.168445μs  (1.19x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4PSR4:      6.206062μs  (1.20x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special1:  6.297085μs  (1.21x) 0           
> CLASSMAP: ComposerSmartImmediate:              6.377432μs  (1.23x) 0           
> CLASSMAP: ComposerSmartDrupal:                 6.473064μs  (1.25x) 0           
> CLASSMAP: ComposerSmarterDrupal:               6.797791μs  (1.31x) 0           
> CLASSMAP: Composer:                            8.271615μs  (1.60x) 0           
> CLASSMAP: APC:                                 8.480178μs  (1.64x) 0           
> CLASSMAP: ComposerSmarter:                     9.380129μs  (1.81x) 0           
> CLASSMAP: ComposerSmart:                       9.463257μs  (1.82x) 0           
> CLASSMAP: ClassMapFileExists:                 10.640436μs  (2.05x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special:  40.942536μs  (7.90x) 1           
> PREFIX:   ComposerSmartImmediate:             41.093641μs  (7.92x) 1           
> PREFIX:   ComposerSmartImmediatePSR4PSR4:     41.943020μs  (8.09x) 1           
> PREFIX:   ComposerSmartImmediatePSR4:         42.403380μs  (8.18x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special1: 43.185790μs  (8.33x) 1           
> PREFIX:   KrautoloadSmartUnplugged:           43.742233μs  (8.44x) 1           
> PREFIX:   ComposerSmartDrupal:                43.812990μs  (8.45x) 1           
> PREFIX:   ComposerSmart:                      44.626527μs  (8.61x) 1           
> PREFIX:   PSR0:                               48.859888μs  (9.42x) 1           
> PREFIX:   ComposerSmarter:                    49.546745μs  (9.55x) 1           
> PREFIX:   ComposerSmarterDrupal:              49.777137μs  (9.60x) 1           
> PREFIX:   Composer:                           49.778912μs  (9.60x) 1           
> PREFIX:   KrautoloadSmart:                    57.882468μs (11.16x) 1           
> PREFIX:   Krautoload:                         83.843840μs (16.17x) 1           



Generating: 30:\10\10 * 3000
-------------------------------

Starting 900 runs (300 classes)

LOADER                                              DURATION    RATIO CLASS_EXISTS
> CLASSMAP: Krautoload:                          5.084011μs  (1.00x) 0           
> CLASSMAP: KrautoloadSmart:                     5.281925μs  (1.04x) 0           
> CLASSMAP: ClassMap:                            5.362537μs  (1.05x) 0           
> CLASSMAP: KrautoloadSmartUnplugged:            5.383650μs  (1.06x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4PSR4:      6.185955μs  (1.22x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4:          6.264210μs  (1.23x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special1:  6.274912μs  (1.23x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special:   6.308317μs  (1.24x) 0           
> CLASSMAP: ComposerSmartImmediate:              6.385591μs  (1.26x) 0           
> CLASSMAP: ComposerSmarterDrupal:               6.404824μs  (1.26x) 0           
> CLASSMAP: ComposerSmartDrupal:                 6.465197μs  (1.27x) 0           
> CLASSMAP: Composer:                            8.348306μs  (1.64x) 0           
> CLASSMAP: APC:                                 8.525769μs  (1.68x) 0           
> CLASSMAP: ComposerSmarter:                     9.268522μs  (1.82x) 0           
> CLASSMAP: ComposerSmart:                       9.540876μs  (1.88x) 0           
> CLASSMAP: ClassMapFileExists:                 11.149936μs  (2.19x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special:  43.606811μs  (8.58x) 1           
> PREFIX:   ComposerSmartImmediate:             44.372479μs  (8.73x) 1           
> PREFIX:   ComposerSmartImmediatePSR4:         44.548803μs  (8.76x) 1           
> PREFIX:   ComposerSmartImmediatePSR4PSR4:     44.581625μs  (8.77x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special1: 44.720438μs  (8.80x) 1           
> PREFIX:   ComposerSmarterDrupal:              44.809156μs  (8.81x) 1           
> PREFIX:   ComposerSmartDrupal:                44.888973μs  (8.83x) 1           
> PREFIX:   KrautoloadSmartUnplugged:           47.425985μs  (9.33x) 1           
> PREFIX:   ComposerSmart:                      48.632357μs  (9.57x) 1           
> PREFIX:   ComposerSmarter:                    49.466027μs  (9.73x) 1           
> PREFIX:   KrautoloadSmart:                    56.480116μs (11.11x) 1           
> PREFIX:   Krautoload:                         76.376650μs (15.02x) 1           
> PREFIX:   PSR0:                               87.764051μs (17.26x) 1           
> PREFIX:   Composer:                           89.503712μs (17.60x) 1           



Generating: 120:\10\10 * 3000
-------------------------------

Starting 900 runs (300 classes)

LOADER                                               DURATION    RATIO CLASS_EXISTS
> CLASSMAP: KrautoloadSmart:                      5.073865μs  (1.00x) 0           
> CLASSMAP: ClassMap:                             5.292892μs  (1.04x) 0           
> CLASSMAP: KrautoloadSmartUnplugged:             5.350669μs  (1.05x) 0           
> CLASSMAP: Krautoload:                           5.568769μs  (1.10x) 0           
> CLASSMAP: ComposerSmartImmediate:               6.068759μs  (1.20x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special1:   6.128788μs  (1.21x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4:           6.142643μs  (1.21x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special:    6.148683μs  (1.21x) 0           
> CLASSMAP: ComposerSmarterDrupal:                6.384717μs  (1.26x) 0           
> CLASSMAP: ComposerSmartDrupal:                  6.402757μs  (1.26x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4PSR4:       6.766929μs  (1.33x) 0           
> CLASSMAP: Composer:                             8.311537μs  (1.64x) 0           
> CLASSMAP: APC:                                  8.909808μs  (1.76x) 0           
> CLASSMAP: ComposerSmarter:                      9.400235μs  (1.85x) 0           
> CLASSMAP: ComposerSmart:                        9.438939μs  (1.86x) 0           
> CLASSMAP: ClassMapFileExists:                  10.462443μs  (2.06x) 1           
> PREFIX:   ComposerSmartDrupal:                 47.638973μs  (9.39x) 1           
> PREFIX:   ComposerSmarterDrupal:               49.333758μs  (9.72x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special:   54.616372μs (10.76x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special1:  54.991775μs (10.84x) 1           
> PREFIX:   ComposerSmartImmediate:              55.807432μs (11.00x) 1           
> PREFIX:   ComposerSmartImmediatePSR4:          56.903680μs (11.22x) 1           
> PREFIX:   ComposerSmartImmediatePSR4PSR4:      57.874706μs (11.41x) 1           
> PREFIX:   ComposerSmarter:                     58.812141μs (11.59x) 1           
> PREFIX:   ComposerSmart:                       59.250302μs (11.68x) 1           
> PREFIX:   KrautoloadSmartUnplugged:            60.737107μs (11.97x) 1           
> PREFIX:   KrautoloadSmart:                     69.529533μs (13.70x) 1           
> PREFIX:   Krautoload:                          77.371094μs (15.25x) 1           
> PREFIX:   Composer:                           199.350437μs (39.29x) 1           
> PREFIX:   PSR0:                               202.305079μs (39.87x) 1           



Generating: Drupal\5:\5\5 * 3000
-------------------------------

Starting 900 runs (300 classes)

LOADER                                              DURATION    RATIO CLASS_EXISTS
> CLASSMAP: Krautoload:                          5.118503μs  (1.00x) 0           
> CLASSMAP: KrautoloadSmart:                     5.176915μs  (1.01x) 0           
> CLASSMAP: KrautoloadSmartUnplugged:            5.340417μs  (1.04x) 0           
> CLASSMAP: ClassMap:                            5.372816μs  (1.05x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special:   6.167279μs  (1.20x) 0           
> CLASSMAP: ComposerSmartImmediate:              6.293694μs  (1.23x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4PSR4:      6.313880μs  (1.23x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4:          6.343630μs  (1.24x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special1:  6.434308μs  (1.26x) 0           
> CLASSMAP: ComposerSmartDrupal:                 6.525093μs  (1.27x) 0           
> CLASSMAP: ComposerSmarterDrupal:               6.662316μs  (1.30x) 0           
> CLASSMAP: Composer:                            8.473131μs  (1.66x) 0           
> CLASSMAP: APC:                                 8.597718μs  (1.68x) 0           
> CLASSMAP: ComposerSmart:                       9.770711μs  (1.91x) 0           
> CLASSMAP: ComposerSmarter:                     9.929683μs  (1.94x) 0           
> CLASSMAP: ClassMapFileExists:                 10.681497μs  (2.09x) 1           
> PREFIX:   ComposerSmartDrupal:                46.110206μs  (9.01x) 1           
> PREFIX:   ComposerSmarterDrupal:              46.461264μs  (9.08x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special:  48.605124μs  (9.50x) 1           
> PREFIX:   ComposerSmartImmediatePSR4:         49.850808μs  (9.74x) 1           
> PREFIX:   ComposerSmartImmediatePSR4PSR4:     50.062259μs  (9.78x) 1           
> PREFIX:   ComposerSmartImmediate:             50.194449μs  (9.81x) 1           
> PREFIX:   ComposerSmarter:                    50.424019μs  (9.85x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special1: 50.493108μs  (9.86x) 1           
> PREFIX:   PSR0:                               50.636424μs  (9.89x) 1           
> PREFIX:   KrautoloadSmartUnplugged:           51.994138μs (10.16x) 1           
> PREFIX:   Composer:                           52.306996μs (10.22x) 1           
> PREFIX:   ComposerSmart:                      54.875506μs (10.72x) 1           
> PREFIX:   KrautoloadSmart:                    62.064674μs (12.13x) 1           
> PREFIX:   Krautoload:                         78.901132μs (15.41x) 1           



Generating: Drupal\30:\5\5 * 3000
-------------------------------

Starting 900 runs (300 classes)

LOADER                                               DURATION    RATIO CLASS_EXISTS
> CLASSMAP: KrautoloadSmart:                      5.271620μs  (1.00x) 0           
> CLASSMAP: Krautoload:                           5.346060μs  (1.01x) 0           
> CLASSMAP: KrautoloadSmartUnplugged:             5.382617μs  (1.02x) 0           
> CLASSMAP: ClassMap:                             5.464209μs  (1.04x) 0           
> CLASSMAP: ComposerSmartImmediate:               6.247229μs  (1.19x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special:    6.331974μs  (1.20x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4PSR4:       6.421990μs  (1.22x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4:           6.472243μs  (1.23x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special1:   6.504271μs  (1.23x) 0           
> CLASSMAP: ComposerSmartDrupal:                  6.565677μs  (1.25x) 0           
> CLASSMAP: ComposerSmarterDrupal:                6.609864μs  (1.25x) 0           
> CLASSMAP: APC:                                  8.804533μs  (1.67x) 0           
> CLASSMAP: Composer:                             9.432475μs  (1.79x) 0           
> CLASSMAP: ComposerSmarter:                      9.575473μs  (1.82x) 0           
> CLASSMAP: ComposerSmart:                        9.672562μs  (1.83x) 0           
> CLASSMAP: ClassMapFileExists:                  10.962645μs  (2.08x) 1           
> PREFIX:   ComposerSmarterDrupal:               48.718082μs  (9.24x) 1           
> PREFIX:   ComposerSmartDrupal:                 50.600370μs  (9.60x) 1           
> PREFIX:   ComposerSmarter:                     62.785705μs (11.91x) 1           
> PREFIX:   Krautoload:                          81.348631μs (15.43x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special:   91.099183μs (17.28x) 1           
> PREFIX:   ComposerSmartImmediate:              91.154814μs (17.29x) 1           
> PREFIX:   PSR0:                                91.420306μs (17.34x) 1           
> PREFIX:   ComposerSmartImmediatePSR4:          91.587755μs (17.37x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special1:  91.958046μs (17.44x) 1           
> PREFIX:   ComposerSmartImmediatePSR4PSR4:      92.624850μs (17.57x) 1           
> PREFIX:   Composer:                            94.037533μs (17.84x) 1           
> PREFIX:   KrautoloadSmartUnplugged:            94.508198μs (17.93x) 1           
> PREFIX:   ComposerSmart:                       96.370750μs (18.28x) 1           
> PREFIX:   KrautoloadSmart:                    105.513414μs (20.02x) 1           



Generating: Drupal\80:\5\5 * 3000
-------------------------------

Starting 900 runs (300 classes)

LOADER                                               DURATION    RATIO CLASS_EXISTS
> CLASSMAP: KrautoloadSmart:                      5.134609μs  (1.00x) 0           
> CLASSMAP: Krautoload:                           5.178822μs  (1.01x) 0           
> CLASSMAP: KrautoloadSmartUnplugged:             5.399704μs  (1.05x) 0           
> CLASSMAP: ClassMap:                             5.442513μs  (1.06x) 0           
> CLASSMAP: ComposerSmartImmediate:               6.228341μs  (1.21x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special:    6.355683μs  (1.24x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4PSR4:       6.423924μs  (1.25x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4:           6.475766μs  (1.26x) 0           
> CLASSMAP: ComposerSmartDrupal:                  6.535874μs  (1.27x) 0           
> CLASSMAP: ComposerSmarterDrupal:                6.611904μs  (1.29x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special1:   6.764544μs  (1.32x) 0           
> CLASSMAP: APC:                                  8.757962μs  (1.71x) 0           
> CLASSMAP: Composer:                             8.923663μs  (1.74x) 0           
> CLASSMAP: ComposerSmarter:                      9.605196μs  (1.87x) 0           
> CLASSMAP: ComposerSmart:                        9.612030μs  (1.87x) 0           
> CLASSMAP: ClassMapFileExists:                  11.241383μs  (2.19x) 1           
> PREFIX:   ComposerSmarterDrupal:               47.893948μs  (9.33x) 1           
> PREFIX:   ComposerSmartDrupal:                 53.597079μs (10.44x) 1           
> PREFIX:   Krautoload:                          78.912099μs (15.37x) 1           
> PREFIX:   ComposerSmarter:                     81.045601μs (15.78x) 1           
> PREFIX:   ComposerSmartImmediatePSR4PSR4:     156.668239μs (30.51x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special:  156.997681μs (30.58x) 1           
> PREFIX:   ComposerSmartImmediatePSR4:         157.201529μs (30.62x) 1           
> PREFIX:   ComposerSmartImmediate:             157.306353μs (30.64x) 1           
> PREFIX:   Composer:                           157.984946μs (30.77x) 1           
> PREFIX:   ComposerSmart:                      159.383588μs (31.04x) 1           
> PREFIX:   PSR0:                               160.232994μs (31.21x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special1: 163.561132μs (31.85x) 1           
> PREFIX:   KrautoloadSmartUnplugged:           169.746478μs (33.06x) 1           
> PREFIX:   KrautoloadSmart:                    176.489857μs (34.37x) 1           



Generating: Drupal\200:\5\5 * 3000
-------------------------------

Starting 900 runs (300 classes)

LOADER                                               DURATION    RATIO CLASS_EXISTS
> CLASSMAP: KrautoloadSmart:                      5.205419μs  (1.00x) 0           
> CLASSMAP: KrautoloadSmartUnplugged:             5.403651μs  (1.04x) 0           
> CLASSMAP: ClassMap:                             5.812168μs  (1.12x) 0           
> CLASSMAP: Krautoload:                           6.096601μs  (1.17x) 0           
> CLASSMAP: ComposerSmartImmediate:               6.452772μs  (1.24x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special:    6.515609μs  (1.25x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4:           6.555875μs  (1.26x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4PSR4:       6.603347μs  (1.27x) 0           
> CLASSMAP: ComposerSmartDrupal:                  6.669389μs  (1.28x) 0           
> CLASSMAP: ComposerSmarterDrupal:                6.859514μs  (1.32x) 0           
> CLASSMAP: ComposerSmartImmediatePSR4Special1:   8.260250μs  (1.59x) 0           
> CLASSMAP: APC:                                  8.885039μs  (1.71x) 0           
> CLASSMAP: ComposerSmarter:                      9.612984μs  (1.85x) 0           
> CLASSMAP: Composer:                             9.819031μs  (1.89x) 0           
> CLASSMAP: ComposerSmart:                       10.124763μs  (1.95x) 0           
> CLASSMAP: ClassMapFileExists:                  10.916313μs  (2.10x) 1           
> PREFIX:   ComposerSmarterDrupal:               52.863624μs (10.16x) 1           
> PREFIX:   ComposerSmartDrupal:                 68.612549μs (13.18x) 1           
> PREFIX:   Krautoload:                          80.010997μs (15.37x) 1           
> PREFIX:   ComposerSmarter:                     97.918272μs (18.81x) 1           
> PREFIX:   ComposerSmartImmediate:             300.693247μs (57.77x) 1           
> PREFIX:   ComposerSmartImmediatePSR4:         301.439126μs (57.91x) 1           
> PREFIX:   Composer:                           301.509539μs (57.92x) 1           
> PREFIX:   ComposerSmartImmediatePSR4PSR4:     301.920282μs (58.00x) 1           
> PREFIX:   ComposerSmart:                      306.686640μs (58.92x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special:  307.593822μs (59.09x) 1           
> PREFIX:   ComposerSmartImmediatePSR4Special1: 313.820150μs (60.29x) 1           
> PREFIX:   PSR0:                               316.190905μs (60.74x) 1           
> PREFIX:   KrautoloadSmart:                    366.898908μs (70.48x) 1           
> PREFIX:   KrautoloadSmartUnplugged:           368.946367μs (70.88x) 1   

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.