Acme-CPANModules-TextTable

 view release on metacpan or  search on metacpan

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


=item * Text::Table::HTML (perl_code)

L<Text::Table::HTML>



=item * Text::Table::HTML::DataTables (perl_code)

L<Text::Table::HTML::DataTables>



=item * Text::TabularDisplay (perl_code)

L<Text::TabularDisplay>



=back

=head1 BENCHMARK DATASETS

=over

=item * tiny (1x1)

=item * small (3x5)

=item * wide (30x5)

=item * long (3x300)

=item * large (30x300)

=item * multiline data (2x1) (not included by default)

=item * wide char data (1x2) (not included by default)

=item * color data (1x2) (not included by default)

=back

=head1 BENCHMARK SAMPLE RESULTS

=head2 Sample benchmark #1

Run on: perl: I<< v5.38.0 >>, CPU: I<< Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (2 cores) >>, OS: I<< GNU/Linux Ubuntu version 20.04 >>, OS kernel: I<< Linux version 5.4.0-164-generic >>.

Benchmark command (default options):

 % bencher --cpanmodules-module TextTable

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

 #table1#
 {dataset=>"large (30x300)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
 | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
 | Text::UnicodeBox::Table       |      0.92 |    1100   |                 0.00% |             35566.44% |   0.0024  |      20 |
 | Text::ANSITable               |      1.8  |     560   |                94.68% |             18220.90% |   0.0012  |      20 |
 | Text::Table::More             |      2.5  |     400   |               167.94% |             13211.33% |   0.00094 |      20 |
 | Text::ASCIITable              |      9.6  |     100   |               934.43% |              3347.94% |   0.00076 |      20 |
 | Text::Table::TinyColorWide    |     10    |      70   |              1365.67% |              2333.45% |   0.0008  |      20 |
 | Text::FormatTable             |     15    |      69   |              1474.71% |              2164.95% |   0.00063 |      20 |
 | Text::Table::TinyWide         |     20    |      50   |              1927.24% |              1659.36% |   0.00058 |      20 |
 | Text::SimpleTable             |     26    |      38   |              2719.79% |              1164.86% |   0.00033 |      20 |
 | Text::Table::Manifold         |     30    |      30   |              3432.47% |               909.67% |   0.00039 |      20 |
 | Text::Table::Tiny             |     30    |      30   |              3660.87% |               848.36% |   0.00043 |      20 |
 | Text::TabularDisplay          |     40    |      30   |              4123.89% |               744.40% |   0.00046 |      20 |
 | Text::Table::HTML             |     50    |      20   |              4776.96% |               631.33% |   0.00036 |      20 |
 | Text::Table::TinyColor        |     50    |      20   |              5139.30% |               580.75% |   0.00056 |      20 |
 | Text::MarkdownTable           |     60    |      20   |              6854.90% |               412.82% |   0.00035 |      20 |
 | Text::Table                   |     90    |      10   |              9175.49% |               284.52% |   0.00026 |      20 |
 | 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

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

 | Text::Table::TinyColor        |     22000 |    0.044  |             14278.48% |               285.54% | 1.8e-07   |      20 |
 | Text::Table::HTML             |     29000 |    0.034  |             18554.36% |               197.17% |   7e-08   |      20 |
 | Text::Table::CSV              |     45000 |    0.022  |             28952.94% |                90.81% | 2.6e-08   |      24 |
 | Text::Table::Org              |     51700 |    0.0193 |             32959.88% |                67.68% | 8.2e-09   |      21 |
 | Text::Table::Any              |     74100 |    0.0135 |             47322.43% |                16.90% | 8.8e-09   |      20 |
 | Text::Table::Sprintf          |     86700 |    0.0115 |             55334.94% |                 0.00% | 5.7e-09   |      21 |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

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

                                    Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::Table::TinyWide  Text::Table::TinyBorderStyle  Text::ASCIITable  Text::TabularDisplay  Text::FormatTable  Text::Table::Manifold  Text::Table:...
  Text::UnicodeBox::Table          200/s                       --             -75%               -83%                   -95%                          -95%              -96%                  -97%               -97%                   -97%              ...
  Text::ANSITable                  690/s                     300%               --               -33%                   -80%                          -82%              -86%                  -89%               -90%                   -90%              ...
  Text::Table::More                990/s                     500%              50%                 --                   -70%                          -74%              -79%                  -84%               -85%                   -86%              ...
  Text::Table::TinyWide           4000/s                    1900%             400%               233%                     --                          -13%              -30%                  -48%               -53%                   -53%              ...
  Text::Table::TinyBorderStyle    3800/s                    2207%             476%               284%                    15%                            --              -19%                  -40%               -45%                   -46%              ...
  Text::ASCIITable                4700/s                    2757%             614%               376%                    42%                           23%                --                  -26%               -32%                   -33%              ...
  Text::TabularDisplay            6500/s                    3796%             874%               549%                    94%                           68%               36%                    --                -8%                    -9%              ...
  Text::FormatTable               7070/s                    4155%             963%               609%                   112%                           84%               48%                    9%                 --                     0%              ...
  Text::Table::Manifold           7300/s                    4185%             971%               614%                   114%                           85%               49%                    9%                 0%                     --              ...
  Text::Table::HTML::DataTables   7410/s                    4344%            1011%               640%                   122%                           92%               55%                   14%                 4%                     3%              ...
  Text::Table::TinyColorWide      7600/s                    4515%            1053%               669%                   130%                          100%               61%                   18%                 8%                     7%              ...
  Text::Table                     7700/s                    4515%            1053%               669%                   130%                          100%               61%                   18%                 8%                     7%              ...
  Text::MarkdownTable            12400/s                    7353%            1763%              1142%                   272%                          222%              160%                   91%                75%                    73%              ...
  Text::SimpleTable              13000/s                    7692%            1848%              1198%                   289%                          237%              172%                  100%                83%                    81%              ...
  Text::Table::Tiny              14800/s                    8775%            2118%              1379%                   343%                          284%              210%                  127%               108%                   107%              ...
  Text::Table::TinyColor         22000/s                   13536%            3309%              2172%                   581%                          490%              377%                  250%               220%                   218%              ...
  Text::Table::HTML              29000/s                   17547%            4311%              2841%                   782%                          664%              517%                  352%               314%                   311%              ...
  Text::Table::CSV               45000/s                   27172%            6718%              4445%                  1263%                         1081%              854%                  600%               540%                   536%              ...
  Text::Table::Org               51700/s                   30988%            7672%              5081%                  1454%                         1247%              988%                  697%               630%                   625%              ...
  Text::Table::Any               74100/s                   44344%           11011%              7307%                  2122%                         1825%             1455%                 1040%               944%                   937%              ...
  Text::Table::Sprintf           86700/s                   52073%           12943%              8595%                  2508%                         2160%             1726%                 1239%              1126%                  1117%              ...
 
 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 4 of 5):

 #table4#
 {dataset=>"tiny (1x1)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
 | Text::UnicodeBox::Table       |       400 |   3       |                 0.00% |             81511.84% |   7e-05 |      20 |
 | Text::ANSITable               |      2000 |   0.6     |               345.42% |             18222.60% | 1.7e-05 |      20 |
 | Text::Table::More             |      3100 |   0.32    |               765.49% |              9329.53% | 1.4e-06 |      20 |
 | Text::Table::TinyBorderStyle  |      4500 |   0.22    |              1159.08% |              6381.86% | 9.5e-07 |      20 |
 | Text::Table::Manifold         |     14000 |   0.074   |              3687.92% |              2054.53% | 1.5e-07 |      20 |
 | Text::ASCIITable              |     18000 |   0.056   |              4864.62% |              1543.87% | 9.3e-08 |      21 |
 | Text::Table::HTML::DataTables |     19000 |   0.054   |              5093.75% |              1471.35% | 7.7e-08 |      21 |
 | Text::Table::TinyWide         |     20000 |   0.05    |              5409.22% |              1381.37% | 7.5e-07 |      20 |
 | Text::Table                   |     21300 |   0.0469  |              5845.42% |              1272.68% |   4e-08 |      20 |
 | Text::MarkdownTable           |     25000 |   0.04    |              6865.20% |              1071.71% | 1.5e-07 |      20 |
 | Text::TabularDisplay          |     30000 |   0.03    |              9444.99% |               755.02% | 1.4e-06 |      30 |
 | Text::FormatTable             |     35700 |   0.028   |              9856.57% |               719.68% | 2.7e-08 |      20 |
 | Text::Table::TinyColorWide    |     45400 |   0.022   |             12542.38% |               545.54% | 1.2e-08 |      20 |
 | Text::Table::Tiny             |     52400 |   0.0191  |             14513.24% |               458.48% | 1.7e-08 |      20 |
 | Text::Table::TinyColor        |     50000 |   0.02    |             15110.40% |               436.55% |   9e-07 |      25 |
 | Text::Table::HTML             |     62200 |   0.0161  |             17223.24% |               371.11% | 5.9e-09 |      22 |
 | Text::SimpleTable             |     64700 |   0.0154  |             17934.63% |               352.53% | 1.3e-08 |      20 |
 | Text::Table::Org              |    145000 |   0.00691 |             40228.25% |               102.37% |   2e-09 |      20 |
 | Text::Table::Any              |    191000 |   0.00525 |             52985.72% |                53.74% | 2.6e-09 |      20 |
 | Text::Table::Sprintf          |    272000 |   0.00367 |             75724.38% |                 7.63% | 1.7e-09 |      22 |
 | Text::Table::CSV              |    293000 |   0.00341 |             81511.84% |                 0.00% | 2.1e-09 |      21 |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+

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

                                     Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::Table::TinyBorderStyle  Text::Table::Manifold  Text::ASCIITable  Text::Table::HTML::DataTables  Text::Table::TinyWide  Text::Table  Text::Ma...
  Text::UnicodeBox::Table           400/s                       --             -80%               -89%                          -92%                   -97%              -98%                           -98%                   -98%         -98%          ...
  Text::ANSITable                  2000/s                     400%               --               -46%                          -63%                   -87%              -90%                           -91%                   -91%         -92%          ...
  Text::Table::More                3100/s                     837%              87%                 --                          -31%                   -76%              -82%                           -83%                   -84%         -85%          ...
  Text::Table::TinyBorderStyle     4500/s                    1263%             172%                45%                            --                   -66%              -74%                           -75%                   -77%         -78%          ...
  Text::Table::Manifold           14000/s                    3954%             710%               332%                          197%                     --              -24%                           -27%                   -32%         -36%          ...
  Text::ASCIITable                18000/s                    5257%             971%               471%                          292%                    32%                --                            -3%                   -10%         -16%          ...
  Text::Table::HTML::DataTables   19000/s                    5455%            1011%               492%                          307%                    37%                3%                             --                    -7%         -13%          ...
  Text::Table::TinyWide           20000/s                    5900%            1099%               540%                          339%                    47%               11%                             7%                     --          -6%          ...
  Text::Table                     21300/s                    6296%            1179%               582%                          369%                    57%               19%                            15%                     6%           --          ...
  Text::MarkdownTable             25000/s                    7400%            1400%               700%                          450%                    84%               39%                            34%                    25%          17%          ...
  Text::TabularDisplay            30000/s                    9900%            1900%               966%                          633%                   146%               86%                            80%                    66%          56%          ...
  Text::FormatTable               35700/s                   10614%            2042%              1042%                          685%                   164%              100%                            92%                    78%          67%          ...
  Text::Table::TinyColorWide      45400/s                   13536%            2627%              1354%                          900%                   236%              154%                           145%                   127%         113%          ...
  Text::Table::TinyColor          50000/s                   14900%            2900%              1500%                         1000%                   270%              179%                           169%                   150%         134%          ...
  Text::Table::Tiny               52400/s                   15606%            3041%              1575%                         1051%                   287%              193%                           182%                   161%         145%          ...
  Text::Table::HTML               62200/s                   18533%            3626%              1887%                         1266%                   359%              247%                           235%                   210%         191%          ...
  Text::SimpleTable               64700/s                   19380%            3796%              1977%                         1328%                   380%              263%                           250%                   224%         204%          ...
  Text::Table::Org               145000/s                   43315%            8583%              4530%                         3083%                   970%              710%                           681%                   623%         578%          ...
  Text::Table::Any               191000/s                   57042%           11328%              5995%                         4090%                  1309%              966%                           928%                   852%         793%          ...
  Text::Table::Sprintf           272000/s                   81643%           16248%              8619%                         5894%                  1916%             1425%                          1371%                  1262%        1177%          ...
  Text::Table::CSV               293000/s                   87876%           17495%              9284%                         6351%                  2070%             1542%                          1483%                  1366%        1275%          ...
 
 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 5 of 5):

 #table5#
 {dataset=>"wide (30x5)"}
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
 | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
 +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
 | Text::UnicodeBox::Table       |        33 |   30      |                 0.00% |             40107.73% |   0.00028 |      20 |
 | Text::ANSITable               |        70 |   10      |               112.30% |             18838.85% |   0.00034 |      20 |
 | Text::Table::More             |       100 |    9      |               242.25% |             11648.22% |   0.00016 |      20 |
 | Text::ASCIITable              |       450 |    2.2    |              1269.60% |              2835.73% | 1.8e-05   |      21 |
 | Text::FormatTable             |       650 |    1.5    |              1867.35% |              1943.75% | 1.2e-05   |      20 |
 | Text::Table::TinyColorWide    |       830 |    1.2    |              2401.71% |              1507.21% | 3.5e-06   |      20 |
 | Text::Table::TinyBorderStyle  |       900 |    1      |              2611.90% |              1382.64% | 1.7e-05   |      20 |
 | Text::Table                   |      1200 |    0.87   |              3377.43% |              1056.25% | 1.5e-06   |      20 |
 | Text::Table::Tiny             |      1000 |    0.8    |              3482.31% |              1022.40% | 3.8e-05   |      29 |
 | Text::Table::TinyWide         |      1200 |    0.83   |              3524.20% |              1009.42% |   1e-06   |      20 |
 | Text::SimpleTable             |      1580 |    0.633  |              4667.39% |               743.39% | 5.8e-07   |      21 |
 | Text::Table::Manifold         |      1700 |    0.6    |              4936.57% |               698.32% | 7.9e-07   |      20 |
 | Text::TabularDisplay          |      2300 |    0.44   |              6812.25% |               481.69% | 7.1e-07   |      20 |
 | Text::Table::TinyColor        |      2900 |    0.35   |              8603.40% |               361.98% |   5e-07   |      20 |
 | Text::Table::HTML             |      3370 |    0.297  |             10075.60% |               295.14% | 1.7e-07   |      20 |
 | 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...



( run in 1.592 second using v1.01-cache-2.11-cpan-5623c5533a1 )