Acme-CPANModules-TextTable

 view release on metacpan or  search on metacpan

lib/Acme/CPANModules/TextTable.pm  view on Meta::CPAN

 | Text::Table::HTML::DataTables |    100    |      10   |             10410.10% |               239.35% |   0.00018 |      20 |
 | Text::Table::TinyBorderStyle  |    200    |       6   |             19509.01% |                81.89% |   0.00011 |      20 |
 | Text::Table::Org              |    200    |       5   |             20190.87% |                75.78% |   0.00013 |      20 |
 | Text::Table::CSV              |    200    |       4.9 |             21769.21% |                63.09% | 4.3e-05   |      20 |
 | Text::Table::Sprintf          |    300    |       4   |             28690.71% |                23.88% | 7.4e-05   |      20 |
 | Text::Table::Any              |    300    |       3   |             35566.44% |                 0.00% | 3.3e-05   |      20 |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

The above result formatted in L<Benchmark.pm|Benchmark> style:

                                   Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::ASCIITable  Text::Table::TinyColorWide  Text::FormatTable  Text::Table::TinyWide  Text::SimpleTable  Text::Table::Manifold  Text::Table::Tiny ...
  Text::UnicodeBox::Table        0.92/s                       --             -49%               -63%              -90%                        -93%               -93%                   -95%               -96%                   -97%               -97% ...
  Text::ANSITable                 1.8/s                      96%               --               -28%              -82%                        -87%               -87%                   -91%               -93%                   -94%               -94% ...
  Text::Table::More               2.5/s                     175%              39%                 --              -75%                        -82%               -82%                   -87%               -90%                   -92%               -92% ...
  Text::ASCIITable                9.6/s                    1000%             459%               300%                --                        -30%               -31%                   -50%               -62%                   -70%               -70% ...
  Text::Table::TinyColorWide       10/s                    1471%             700%               471%               42%                          --                -1%                   -28%               -45%                   -57%               -57% ...
  Text::FormatTable                15/s                    1494%             711%               479%               44%                          1%                 --                   -27%               -44%                   -56%               -56% ...
  Text::Table::TinyWide            20/s                    2100%            1019%               700%              100%                         39%                37%                     --               -24%                   -40%               -40% ...
  Text::SimpleTable                26/s                    2794%            1373%               952%              163%                         84%                81%                    31%                 --                   -21%               -21% ...
  Text::Table::Manifold            30/s                    3566%            1766%              1233%              233%                        133%               129%                    66%                26%                     --                 0% ...
  Text::Table::Tiny                30/s                    3566%            1766%              1233%              233%                        133%               129%                    66%                26%                     0%                 -- ...
  Text::TabularDisplay             40/s                    3566%            1766%              1233%              233%                        133%               129%                    66%                26%                     0%                 0% ...
  Text::Table::HTML                50/s                    5400%            2700%              1900%              400%                        250%               245%                   150%                89%                    50%                50% ...
  Text::Table::TinyColor           50/s                    5400%            2700%              1900%              400%                        250%               245%                   150%                89%                    50%                50% ...
  Text::MarkdownTable              60/s                    5400%            2700%              1900%              400%                        250%               245%                   150%                89%                    50%                50% ...
  Text::Table                      90/s                   10900%            5500%              3900%              900%                        600%               590%                   400%               280%                   200%               200% ...
  Text::Table::HTML::DataTables   100/s                   10900%            5500%              3900%              900%                        600%               590%                   400%               280%                   200%               200% ...
  Text::Table::TinyBorderStyle    200/s                   18233%            9233%              6566%             1566%                       1066%              1050%                   733%               533%                   400%               400% ...
  Text::Table::Org                200/s                   21900%           11100%              7900%             1900%                       1300%              1280%                   900%               660%                   500%               500% ...
  Text::Table::CSV                200/s                   22348%           11328%              8063%             1940%                       1328%              1308%                   920%               675%                   512%               512% ...
  Text::Table::Sprintf            300/s                   27400%           13900%              9900%             2400%                       1650%              1625%                  1150%               850%                   650%               650% ...
  Text::Table::Any                300/s                   36566%           18566%             13233%             3233%                       2233%              2200%                  1566%              1166%                   900%               900% ...
 
 Legends:
   Text::ANSITable: participant=Text::ANSITable
   Text::ASCIITable: participant=Text::ASCIITable
   Text::FormatTable: participant=Text::FormatTable
   Text::MarkdownTable: participant=Text::MarkdownTable
   Text::SimpleTable: participant=Text::SimpleTable
   Text::Table: participant=Text::Table
   Text::Table::Any: participant=Text::Table::Any
   Text::Table::CSV: participant=Text::Table::CSV
   Text::Table::HTML: participant=Text::Table::HTML
   Text::Table::HTML::DataTables: participant=Text::Table::HTML::DataTables
   Text::Table::Manifold: participant=Text::Table::Manifold
   Text::Table::More: participant=Text::Table::More
   Text::Table::Org: participant=Text::Table::Org
   Text::Table::Sprintf: participant=Text::Table::Sprintf
   Text::Table::Tiny: participant=Text::Table::Tiny
   Text::Table::TinyBorderStyle: participant=Text::Table::TinyBorderStyle
   Text::Table::TinyColor: participant=Text::Table::TinyColor
   Text::Table::TinyColorWide: participant=Text::Table::TinyColorWide
   Text::Table::TinyWide: participant=Text::Table::TinyWide
   Text::TabularDisplay: participant=Text::TabularDisplay
   Text::UnicodeBox::Table: participant=Text::UnicodeBox::Table

The above result presented as chart:

=begin html

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAH4CAMAAABUnipoAAAJJmlDQ1BpY2MAAEiJlZVnUJNZF8fv8zzphUASQodQQ5EqJYCUEFoo0quoQOidUEVsiLgCK4qINEWQRQEXXJUia0UUC4uCAhZ0gywCyrpxFVFBWXDfGZ33HT+8/5l7z2/+c+bec8/5cAEgiINlwct7YlK6wNvJjhkYFMwE3yiMn5...

=end html


Result formatted as table (split, part 2 of 5):

 #table2#
 {dataset=>"long (3x300)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
 | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
 | Text::UnicodeBox::Table       |       7.4 |   140     |                 0.00% |             35069.88% |   0.0005  |      20 |
 | Text::ANSITable               |      17   |    58     |               132.94% |             14998.05% |   0.00043 |      21 |
 | Text::Table::More             |      21   |    49     |               178.85% |             12512.60% |   0.00046 |      20 |
 | Text::ASCIITable              |     100   |    10     |              1223.05% |              2558.25% |   0.00022 |      22 |
 | Text::FormatTable             |     100   |     8     |              1644.13% |              1916.47% |   0.00026 |      21 |
 | Text::Table::TinyColorWide    |     100   |     7     |              1789.53% |              1761.30% |   0.00016 |      20 |
 | Text::Table::TinyWide         |     200   |     5     |              2638.44% |              1184.31% | 6.1e-05   |      20 |
 | Text::SimpleTable             |     200   |     4     |              3188.50% |               969.48% | 8.7e-05   |      20 |
 | Text::Table::Manifold         |     300   |     3     |              3871.99% |               785.45% | 5.4e-05   |      21 |
 | Text::TabularDisplay          |     350   |     2.8   |              4714.43% |               630.51% | 8.9e-06   |      20 |
 | Text::Table::Tiny             |     380   |     2.7   |              4992.67% |               590.60% | 5.5e-06   |      20 |
 | Text::MarkdownTable           |     410   |     2.5   |              5417.46% |               537.43% | 6.7e-06   |      20 |
 | Text::Table                   |     500   |     2     |              6071.61% |               469.87% | 3.6e-05   |      20 |
 | Text::Table::TinyColor        |     570   |     1.8   |              7628.23% |               355.08% | 4.2e-06   |      20 |
 | Text::Table::HTML             |     590   |     1.7   |              7913.19% |               338.90% | 3.4e-06   |      20 |
 | Text::Table::HTML::DataTables |     890   |     1.1   |             12003.16% |               190.58% | 5.1e-06   |      20 |
 | Text::Table::TinyBorderStyle  |    1200   |     0.83  |             16229.83% |               115.37% | 6.6e-06   |      20 |
 | Text::Table::Org              |    1600   |     0.62  |             21670.38% |                61.55% | 6.6e-07   |      20 |
 | Text::Table::CSV              |    1730   |     0.579 |             23360.70% |                49.91% | 2.3e-07   |      20 |
 | Text::Table::Any              |    2500   |     0.4   |             33906.20% |                 3.42% | 4.3e-07   |      20 |
 | Text::Table::Sprintf          |    2590   |     0.386 |             35069.88% |                 0.00% | 1.6e-07   |      20 |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

The above result formatted in L<Benchmark.pm|Benchmark> style:

                                   Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::ASCIITable  Text::FormatTable  Text::Table::TinyColorWide  Text::Table::TinyWide  Text::SimpleTable  Text::Table::Manifold  Text::TabularDispl...
  Text::UnicodeBox::Table         7.4/s                       --             -58%               -65%              -92%               -94%                        -95%                   -96%               -97%                   -97%                  -9...
  Text::ANSITable                  17/s                     141%               --               -15%              -82%               -86%                        -87%                   -91%               -93%                   -94%                  -9...
  Text::Table::More                21/s                     185%              18%                 --              -79%               -83%                        -85%                   -89%               -91%                   -93%                  -9...
  Text::ASCIITable                100/s                    1300%             480%               390%                --               -19%                        -30%                   -50%               -60%                   -70%                  -7...
  Text::FormatTable               100/s                    1650%             625%               512%               25%                 --                        -12%                   -37%               -50%                   -62%                  -6...
  Text::Table::TinyColorWide      100/s                    1900%             728%               600%               42%                14%                          --                   -28%               -42%                   -57%                  -6...
  Text::Table::TinyWide           200/s                    2700%            1060%               880%              100%                60%                         39%                     --               -19%                   -40%                  -4...
  Text::SimpleTable               200/s                    3400%            1350%              1125%              150%               100%                         75%                    25%                 --                   -25%                  -3...
  Text::Table::Manifold           300/s                    4566%            1833%              1533%              233%               166%                        133%                    66%                33%                     --                   -...
  Text::TabularDisplay            350/s                    4900%            1971%              1650%              257%               185%                        150%                    78%                42%                     7%                    ...
  Text::Table::Tiny               380/s                    5085%            2048%              1714%              270%               196%                        159%                    85%                48%                    11%                    ...
  Text::MarkdownTable             410/s                    5500%            2220%              1860%              300%               220%                        179%                   100%                60%                    19%                   1...
  Text::Table                     500/s                    6900%            2800%              2350%              400%               300%                        250%                   150%               100%                    50%                   3...
  Text::Table::TinyColor          570/s                    7677%            3122%              2622%              455%               344%                        288%                   177%               122%                    66%                   5...
  Text::Table::HTML               590/s                    8135%            3311%              2782%              488%               370%                        311%                   194%               135%                    76%                   6...
  Text::Table::HTML::DataTables   890/s                   12627%            5172%              4354%              809%               627%                        536%                   354%               263%                   172%                  15...
  Text::Table::TinyBorderStyle   1200/s                   16767%            6887%              5803%             1104%               863%                        743%                   502%               381%                   261%                  23...
  Text::Table::Org               1600/s                   22480%            9254%              7803%             1512%              1190%                       1029%                   706%               545%                   383%                  35...
  Text::Table::CSV               1730/s                   24079%            9917%              8362%             1627%              1281%                       1108%                   763%               590%                   418%                  38...
  Text::Table::Any               2500/s                   34900%           14400%             12150%             2400%              1900%                       1650%                  1150%               900%                   650%                  59...
  Text::Table::Sprintf           2590/s                   36169%           14925%             12594%             2490%              1972%                       1713%                  1195%               936%                   677%                  62...
 
 Legends:

lib/Acme/CPANModules/TextTable.pm  view on Meta::CPAN

 | Text::MarkdownTable           |      3400 |    0.3    |             10085.88% |               294.74% | 3.2e-07   |      20 |
 | Text::Table::HTML::DataTables |      4100 |    0.24   |             12334.13% |               223.37% | 7.8e-07   |      20 |
 | Text::Table::Sprintf          |      5260 |    0.19   |             15772.29% |               153.32% | 5.1e-08   |      21 |
 | Text::Table::Org              |      7800 |    0.13   |             23583.00% |                69.77% | 2.8e-07   |      20 |
 | Text::Table::CSV              |     11000 |    0.088  |             34210.03% |                17.19% | 1.6e-07   |      20 |
 | Text::Table::Any              |     13300 |    0.0751 |             40107.73% |                 0.00% | 4.5e-08   |      20 |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

The above result formatted in L<Benchmark.pm|Benchmark> style:

                                    Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::ASCIITable  Text::FormatTable  Text::Table::TinyColorWide  Text::Table::TinyBorderStyle  Text::Table  Text::Table::TinyWide  Text::Table::Tin...
  Text::UnicodeBox::Table           33/s                       --             -66%               -70%              -92%               -95%                        -96%                          -96%         -97%                   -97%               -97...
  Text::ANSITable                   70/s                     200%               --                -9%              -78%               -85%                        -88%                          -90%         -91%                   -91%               -92...
  Text::Table::More                100/s                     233%              11%                 --              -75%               -83%                        -86%                          -88%         -90%                   -90%               -91...
  Text::ASCIITable                 450/s                    1263%             354%               309%                --               -31%                        -45%                          -54%         -60%                   -62%               -63...
  Text::FormatTable                650/s                    1900%             566%               500%               46%                 --                        -20%                          -33%         -42%                   -44%               -46...
  Text::Table::TinyColorWide       830/s                    2400%             733%               650%               83%                25%                          --                          -16%         -27%                   -30%               -33...
  Text::Table::TinyBorderStyle     900/s                    2900%             900%               800%              120%                50%                         19%                            --         -13%                   -17%               -19...
  Text::Table                     1200/s                    3348%            1049%               934%              152%                72%                         37%                           14%           --                    -4%                -8...
  Text::Table::TinyWide           1200/s                    3514%            1104%               984%              165%                80%                         44%                           20%           4%                     --                -3...
  Text::Table::Tiny               1000/s                    3650%            1150%              1025%              175%                87%                         49%                           25%           8%                     3%                 -...
  Text::SimpleTable               1580/s                    4639%            1479%              1321%              247%               136%                         89%                           57%          37%                    31%                26...
  Text::Table::Manifold           1700/s                    4900%            1566%              1400%              266%               150%                        100%                           66%          44%                    38%                33...
  Text::TabularDisplay            2300/s                    6718%            2172%              1945%              400%               240%                        172%                          127%          97%                    88%                81...
  Text::Table::TinyColor          2900/s                    8471%            2757%              2471%              528%               328%                        242%                          185%         148%                   137%               128...
  Text::MarkdownTable             3400/s                    9900%            3233%              2900%              633%               400%                        300%                          233%         190%                   176%               166...
  Text::Table::HTML               3370/s                   10001%            3267%              2930%              640%               405%                        304%                          236%         192%                   179%               169...
  Text::Table::HTML::DataTables   4100/s                   12400%            4066%              3650%              816%               525%                        400%                          316%         262%                   245%               233...
  Text::Table::Sprintf            5260/s                   15689%            5163%              4636%             1057%               689%                        531%                          426%         357%                   336%               321...
  Text::Table::Org                7800/s                   22976%            7592%              6823%             1592%              1053%                        823%                          669%         569%                   538%               515...
  Text::Table::CSV               11000/s                   33990%           11263%             10127%             2400%              1604%                       1263%                         1036%         888%                   843%               809...
  Text::Table::Any               13300/s                   39846%           13215%             11884%             2829%              1897%                       1497%                         1231%        1058%                  1005%               965...
 
 Legends:
   Text::ANSITable: participant=Text::ANSITable
   Text::ASCIITable: participant=Text::ASCIITable
   Text::FormatTable: participant=Text::FormatTable
   Text::MarkdownTable: participant=Text::MarkdownTable
   Text::SimpleTable: participant=Text::SimpleTable
   Text::Table: participant=Text::Table
   Text::Table::Any: participant=Text::Table::Any
   Text::Table::CSV: participant=Text::Table::CSV
   Text::Table::HTML: participant=Text::Table::HTML
   Text::Table::HTML::DataTables: participant=Text::Table::HTML::DataTables
   Text::Table::Manifold: participant=Text::Table::Manifold
   Text::Table::More: participant=Text::Table::More
   Text::Table::Org: participant=Text::Table::Org
   Text::Table::Sprintf: participant=Text::Table::Sprintf
   Text::Table::Tiny: participant=Text::Table::Tiny
   Text::Table::TinyBorderStyle: participant=Text::Table::TinyBorderStyle
   Text::Table::TinyColor: participant=Text::Table::TinyColor
   Text::Table::TinyColorWide: participant=Text::Table::TinyColorWide
   Text::Table::TinyWide: participant=Text::Table::TinyWide
   Text::TabularDisplay: participant=Text::TabularDisplay
   Text::UnicodeBox::Table: participant=Text::UnicodeBox::Table

The above result presented as chart:

=begin html

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAAH4CAMAAABUnipoAAAJJmlDQ1BpY2MAAEiJlZVnUJNZF8fv8zzphUASQodQQ5EqJYCUEFoo0quoQOidUEVsiLgCK4qINEWQRQEXXJUia0UUC4uCAhZ0gywCyrpxFVFBWXDfGZ33HT+8/5l7z2/+c+bec8/5cAEgiINlwct7YlK6wNvJjhkYFMwE3yiMn5...

=end html


=head2 Sample benchmark #2

Benchmark command (benchmarking module startup overhead):

 % bencher --cpanmodules-module TextTable --module-startup

Result formatted as table:

 #table6#
 +-------------------------------+-----------+----------------------+-----------------------+-----------------------+-----------+---------+
 | participant                   | time (ms) |  mod_overhead_time   | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
 +-------------------------------+-----------+----------------------+-----------------------+-----------------------+-----------+---------+
 | Text::UnicodeBox::Table       |     190   | 181                  |                 0.00% |              2053.49% |   0.00061 |      20 |
 | Text::Table::Manifold         |     110   | 101                  |                75.66% |              1125.93% |   0.00039 |      20 |
 | Text::ANSITable               |      48   |  39                  |               286.81% |               456.73% |   0.00026 |      20 |
 | Text::MarkdownTable           |      46   |  37                  |               301.84% |               435.91% |   0.00031 |      21 |
 | Text::Table::TinyColorWide    |      40   |  31                  |               366.96% |               361.18% |   0.00029 |      20 |
 | Text::Table::TinyWide         |      36   |  27                  |               413.28% |               319.56% |   0.00014 |      22 |
 | Text::Table::More             |      28   |  19                  |               553.94% |               229.31% |   0.00019 |      20 |
 | Text::Table                   |      28   |  19                  |               568.31% |               222.23% |   0.00027 |      20 |
 | Text::ASCIITable              |      20   |  11                  |               781.19% |               144.38% |   0.00028 |      20 |
 | Text::Table::Tiny             |      21   |  12                  |               795.31% |               140.53% |   0.00017 |      20 |
 | Text::Table::TinyColor        |      20   |  11                  |               951.17% |               104.87% |   0.00042 |      21 |
 | Text::FormatTable             |      17   |   8                  |               988.23% |                97.89% |   0.00017 |      20 |
 | Text::Table::Any              |      10   |   1                  |              1195.57% |                66.22% |   0.00021 |      20 |
 | Text::Table::TinyBorderStyle  |      10   |   1                  |              1201.51% |                65.46% |   0.00019 |      21 |
 | Text::TabularDisplay          |      10   |   1                  |              1342.19% |                49.32% |   0.0002  |      20 |
 | Text::Table::Org              |      10   |   1                  |              1396.46% |                43.91% |   0.0002  |      20 |
 | Text::Table::HTML             |      10   |   1                  |              1400.52% |                43.52% |   0.00019 |      20 |
 | Text::SimpleTable             |      12   |   3                  |              1421.63% |                41.53% |   0.00011 |      20 |
 | Text::Table::HTML::DataTables |      10   |   1                  |              1463.78% |                37.71% |   0.00012 |      20 |
 | Text::Table::Sprintf          |       9.1 |   0.0999999999999996 |              1954.13% |                 4.84% | 7.3e-05   |      20 |
 | Text::Table::CSV              |       8.7 |  -0.300000000000001  |              2029.97% |                 1.10% | 3.8e-05   |      20 |
 | perl -e1 (baseline)           |       9   |   0                  |              2053.49% |                 0.00% | 8.9e-05   |      20 |
 +-------------------------------+-----------+----------------------+-----------------------+-----------------------+-----------+---------+


The above result formatted in L<Benchmark.pm|Benchmark> style:

                                    Rate  Text::UnicodeBox::Table  Text::Table::Manifold  Text::ANSITable  Text::MarkdownTable  Text::Table::TinyColorWide  Text::Table::TinyWide  Text::Table::More  Text::Table  Text::Table::Tiny  Text::ASCIITable  Te...
  Text::UnicodeBox::Table          5.3/s                       --                   -42%             -74%                 -75%                        -78%                   -81%               -85%         -85%               -88%              -89%    ...
  Text::Table::Manifold            9.1/s                      72%                     --             -56%                 -58%                        -63%                   -67%               -74%         -74%               -80%              -81%    ...
  Text::ANSITable                 20.8/s                     295%                   129%               --                  -4%                        -16%                   -25%               -41%         -41%               -56%              -58%    ...
  Text::MarkdownTable             21.7/s                     313%                   139%               4%                   --                        -13%                   -21%               -39%         -39%               -54%              -56%    ...
  Text::Table::TinyColorWide      25.0/s                     375%                   175%              19%                  14%                          --                    -9%               -30%         -30%               -47%              -50%    ...
  Text::Table::TinyWide           27.8/s                     427%                   205%              33%                  27%                         11%                     --               -22%         -22%               -41%              -44%    ...
  Text::Table::More               35.7/s                     578%                   292%              71%                  64%                         42%                    28%                 --           0%               -25%              -28%    ...
  Text::Table                     35.7/s                     578%                   292%              71%                  64%                         42%                    28%                 0%           --               -25%              -28%    ...
  Text::Table::Tiny               47.6/s                     804%                   423%             128%                 119%                         90%                    71%                33%          33%                 --               -4%    ...
  Text::ASCIITable                50.0/s                     850%                   450%             140%                 129%                        100%                    80%                39%          39%                 5%                --    ...
  Text::Table::TinyColor          50.0/s                     850%                   450%             140%                 129%                        100%                    80%                39%          39%                 5%                0%    ...
  Text::FormatTable               58.8/s                    1017%                   547%             182%                 170%                        135%                   111%                64%          64%                23%               17%    ...
  Text::SimpleTable               83.3/s                    1483%                   816%             300%                 283%                        233%                   200%               133%         133%                75%               66%    ...
  Text::Table::Any               100.0/s                    1800%                  1000%             380%                 359%                        300%                   260%               179%         179%               110%              100%    ...
  Text::Table::TinyBorderStyle   100.0/s                    1800%                  1000%             380%                 359%                        300%                   260%               179%         179%               110%              100%    ...
  Text::TabularDisplay           100.0/s                    1800%                  1000%             380%                 359%                        300%                   260%               179%         179%               110%              100%    ...



( run in 2.098 seconds using v1.01-cache-2.11-cpan-df04353d9ac )