NAME
    Acme::CPANModules::TextTable - Modules that generate text tables

VERSION
    This document describes version 0.014 of Acme::CPANModules::TextTable
    (from Perl distribution Acme-CPANModules-TextTable), released on
    2023-02-16.

SYNOPSIS
    To run benchmark with default option:

     % bencher --cpanmodules-module TextTable

    To run module startup overhead benchmark:

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

    For more options (dump scenario, list/include/exclude/add participants,
    list/include/exclude/add datasets, etc), see bencher or run "bencher
    --help".

DESCRIPTION
    Currently excluded from this list are:

    *   Text::SimpleTable::AutoWidth (wrapper to Text::SimpleTable);

    *   Text::ASCIITable::EasyTable (wrapper to Text::ASCIITable);

ACME::CPANMODULES ENTRIES
    Text::Table::Any
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

        This is a frontend for many text table modules as backends. The
        interface is dead simple, following Text::Table::Tiny. The main
        drawback is that it currently does not allow passing (some, any)
        options to each backend.

    Text::SimpleTable
        Author: MRAMBERG <https://metacpan.org/author/MRAMBERG>

        As its name implies, a simple table-generating module with minimal
        documentation and a few choices or border characters. You have to
        set the width of all columns manually.

    Text::UnicodeBox::Table
        Author: EWATERS <https://metacpan.org/author/EWATERS>

        The main feature of this module is the various border style it
        provides drawn using Unicode box-drawing characters. It allows
        per-row style. The rendering speed is particularly slow compared to
        other modules.

    Text::Table::Manifold
        Author: RSAVAGE <https://metacpan.org/author/RSAVAGE>

        Two main features of this module is per-column aligning and wide
        character support. This module, aside from doing its rendering, can
        also be told to pass rendering to HTML, CSV, or other text table
        module like Text::UnicodeBox::Table); so in this way it is similar
        to Text::Table::Any.

    Text::ANSITable
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

        This 2013 project was my take in creating a text table module that
        can handle color, multiline text, wide characters. I also threw in
        various formatting options, e.g. per-column/row/cell
        align/valign/pad/vpad, conditional formatting, and so on. I even
        added a couple of features I never used: hiding rows and specifying
        columns to display which can be in different order from the original
        specified columns or can contain the same original columns multiple
        times. I think this module offers the most formatting options on
        CPAN.

        In early 2021, I needed colspan/rowspan and I implemented this in a
        new module: Text::Table::Span (later renamed to Text::Table::More).
        I plan to add this feature too to Text::ANSITable, but in the
        meantime I'm also adding more formatting options which I need to
        Text::Table::More.

    Text::ASCIITable
        Author: LUNATIC <https://metacpan.org/author/LUNATIC>

    Text::FormatTable
        Author: TREY <https://metacpan.org/author/TREY>

    Text::MarkdownTable
        Author: VOJ <https://metacpan.org/author/VOJ>

    Text::Table
        Author: SHLOMIF <https://metacpan.org/author/SHLOMIF>

    Text::Table::Tiny
        Author: NEILB <https://metacpan.org/author/NEILB>

        The simple and tiny table-generating module which I liked back in
        2012 (v0.03). It employs an sprintf() trick to generate a single
        row. This module started my personal experiments creating other
        table-generating modules (at last count I've created no fewer than
        15 of them!).

    Text::Table::TinyBorderStyle
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::Table::More
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

        A module I wrote in early 2021. Main distinguishing feature is
        support for rowspan/clospan. I plan to add more features to this
        module on an as-needed basic. This module is now preferred to
        Text::ANSITable, although currently it does not offer nearly as many
        formatting options as Text::ANSITable.

    Text::Table::Sprintf
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

        A performant (see benchmark result) and lightweight (a page of code,
        no use of modules at all), but with minimal extra features.

    Text::Table::TinyColor
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::Table::TinyColorWide
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::Table::TinyWide
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::Table::Org
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::Table::CSV
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::Table::HTML
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::Table::HTML::DataTables
        Author: PERLANCAR <https://metacpan.org/author/PERLANCAR>

    Text::TabularDisplay
        Author: DARREN <https://metacpan.org/author/DARREN>

ACME::CPANMODULES FEATURE COMPARISON MATRIX
     +-------------------------------+----------------+------------------+---------------+--------------+----------------+-----------------+-------------+-------------------+------------------+---------------------+--------------+------------+------------------+--------------------+-----------------+----------------+-------------------+----------+-----------------------+---------------------+-----------------+-----------+
     | module                        | align_cell *1) | align_column *2) | align_row *3) | box_char *4) | color_data *5) | color_theme *6) | colspan *7) | custom_border *8) | custom_color *9) | multiline_data *10) | rowspan *11) | speed *12) | valign_cell *13) | valign_column *14) | valign_row *15) | wide_char_data | column_width *16) | pad *17) | per_column_width *18) | per_row_height *19) | row_height *20) | vpad *21) |
     +-------------------------------+----------------+------------------+---------------+--------------+----------------+-----------------+-------------+-------------------+------------------+---------------------+--------------+------------+------------------+--------------------+-----------------+----------------+-------------------+----------+-----------------------+---------------------+-----------------+-----------+
     | Text::Table::Any              | N/A *22)       | N/A *23)         | N/A *24)      | N/A *25)     | N/A *26)       | N/A *27)        | N/A *28)    | N/A *29)          | N/A *30)         | N/A *31)            | N/A *32)     | N/A *33)   | N/A *34)         | N/A *35)           | N/A *36)        | N/A *37)       | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::SimpleTable             | no             | no               | no            | no           | no             | no              | no          | yes *38)          | no               | no                  | no           | yes *39)   | no               | no                 | no              | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::UnicodeBox::Table       | no             | yes              | N/A           | no           | yes            | no              | no          | yes               | no               | no                  | no           | yes        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::Manifold         | no             | yes              | N/A           | N/A          | yes            | no              | no          | no *40)           | no               | no                  | no           | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::ANSITable               | yes            | yes              | yes           | yes          | yes            | yes             | no          | yes               | yes              | yes                 | no           | yes        | yes              | yes                | yes             | yes            | yes               | yes      | yes                   | yes                 | yes             | yes       |
     | Text::ASCIITable              | N/A            | N/A              | N/A           | no           | no             | N/A             | N/A         | N/A               | N/A              | yes                 | N/A          | N/A        | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::FormatTable             | N/A            | N/A              | N/A           | no           | no             | N/A             | N/A         | N/A               | N/A              | yes                 | N/A          | N/A        | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::MarkdownTable           | N/A            | N/A              | N/A           | no           | no             | N/A             | N/A         | N/A               | N/A              | no *41)             | N/A          | N/A        | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table                   | N/A            | N/A              | N/A           | N/A *42)     | no             | N/A             | N/A         | N/A               | N/A              | yes                 | N/A          | N/A        | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::Tiny             | N/A            | N/A              | N/A           | yes          | yes            | N/A             | N/A         | N/A               | N/A              | no                  | N/A          | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::TinyBorderStyle  | N/A            | N/A              | N/A           | yes          | no             | N/A             | N/A         | N/A               | N/A              | no                  | N/A          | N/A        | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::More             | yes            | yes              | yes           | yes          | yes            | no              | yes         | yes               | no               | yes                 | yes          | yes        | yes              | yes                | yes             | yes            | no                | no       | no                    | no                  | no              | no        |
     | Text::Table::Sprintf          | N/A            | N/A              | N/A           | no           | no             | N/A             | N/A         | N/A               | N/A              | no                  | N/A          | yes *43)   | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::TinyColor        | N/A            | N/A              | N/A           | no           | yes            | N/A             | N/A         | N/A               | N/A              | no                  | N/A          | N/A        | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::TinyColorWide    | N/A            | N/A              | N/A           | no           | yes            | N/A             | N/A         | N/A               | N/A              | no                  | N/A          | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::TinyWide         | N/A            | N/A              | N/A           | no           | no             | N/A             | N/A         | N/A               | N/A              | N/A                 | N/A          | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::Org              | N/A            | N/A              | N/A           | no           | no             | N/A             | N/A         | N/A               | N/A              | no                  | N/A          | N/A        | N/A              | N/A                | N/A             | no             | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::CSV              | N/A            | N/A              | N/A           | N/A *44)     | no             | N/A             | N/A         | N/A               | N/A              | yes *45)            | N/A          | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::HTML             | N/A            | N/A              | N/A           | no           | no *46)        | N/A             | N/A         | N/A               | N/A              | yes                 | N/A          | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::Table::HTML::DataTables | N/A            | N/A              | N/A           | no           | no *47)        | N/A             | N/A         | N/A               | N/A              | yes                 | N/A          | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     | Text::TabularDisplay          | N/A            | N/A              | N/A           | N/A *48)     | no             | N/A             | N/A         | N/A               | N/A              | yes                 | N/A          | N/A        | N/A              | N/A                | N/A             | yes            | N/A               | N/A      | N/A                   | N/A                 | N/A             | N/A       |
     +-------------------------------+----------------+------------------+---------------+--------------+----------------+-----------------+-------------+-------------------+------------------+---------------------+--------------+------------+------------------+--------------------+-----------------+----------------+-------------------+----------+-----------------------+---------------------+-----------------+-----------+

    Notes:

    1. align_cell: Whether module supports aligning text horizontally in
    individual cells (left/right/middle)
    2. align_column: Whether module supports aligning text horizontally in a
    column (left/right/middle)
    3. align_row: Whether module supports aligning text horizontally in a
    row (left/right/middle)
    4. box_char: Whether module can utilize box-drawing characters
    5. color_data: Whether module supports ANSI colors (i.e. text with ANSI
    color codes can still be aligned properly)
    6. color_theme: Whether the module supports color theme/scheme
    7. colspan: Whether module supports column spans
    8. custom_border: Whether module allows customizing border in some way
    9. custom_color: Whether the module produces colored table and supports
    customizing color in some way
    10. multiline_data: Whether module supports aligning data cells that
    contain newlines
    11. rowspan: Whether module supports row spans
    12. speed: Rendering speed
    13. valign_cell: Whether module supports aligning text vertically in
    individual cells (top/bottom/middle)
    14. valign_column: Whether module supports aligning text vertically in a
    column (top/bottom/middle)
    15. valign_row: Whether module supports aligning text vertically in a
    row (top/bottom/middle)
    16. column_width: Whether module allows setting the width of columns
    17. pad: Whether module allows customizing cell horizontal padding
    18. per_column_width: Whether module allows setting column width on a
    per-column basis
    19. per_row_height: Whether module allows setting row height on a
    per-row basis
    20. row_height: Whether module allows setting the height of rows
    21. vpad: Whether module allows customizing cell vertical padding
    22. Depends on backend
    23. Depends on backend
    24. Depends on backend
    25. Depends on backend
    26. Depends on backend
    27. Depends on backend
    28. Depends on backend
    29. Depends on backend
    30. Depends on backend
    31. Depends on backend
    32. Depends on backend
    33. Depends on backend
    34. Depends on backend
    35. Depends on backend
    36. Depends on backend
    37. Depends on backend
    38. Limited choice of 1 ASCII style and 1 UTF style
    39. Slightly slower than Text::Table::Tiny
    40. But this module can pass rendering to other module like
    Text::UnicodeBox::Table
    41. Newlines stripped
    42. Does not draw borders
    43. The fastest among the others in this list
    44. Irrelevant
    45. But make sure your CSV parser can handle multiline cell
    46. Not converted to HTML color elements
    47. Not converted to HTML color elements
    48. Irrelevant

BENCHMARKED MODULES
    Version numbers shown below are the versions used when running the
    sample benchmark.

    Text::Table::Any 0.114

    Text::SimpleTable 2.07

    Text::UnicodeBox::Table

    Text::Table::Manifold 1.03

    Text::ANSITable 0.608

    Text::ASCIITable 0.22

    Text::FormatTable 1.03

    Text::MarkdownTable 0.3.1

    Text::Table 1.134

    Text::Table::Tiny 1.02

    Text::Table::TinyBorderStyle 0.005

    Text::Table::More 0.025

    Text::Table::Sprintf 0.006

    Text::Table::TinyColor 0.002

    Text::Table::TinyColorWide 0.001

    Text::Table::TinyWide 0.001

    Text::Table::Org 0.031

    Text::Table::CSV 0.023

    Text::Table::HTML 0.009

    Text::Table::HTML::DataTables 0.012

    Text::TabularDisplay 1.38

BENCHMARK PARTICIPANTS
    *   Text::Table::Any (perl_code)

        Text::Table::Any

    *   Text::SimpleTable (perl_code)

        Text::SimpleTable

    *   Text::UnicodeBox::Table (perl_code)

        Text::UnicodeBox::Table

    *   Text::Table::Manifold (perl_code)

        Text::Table::Manifold

    *   Text::ANSITable (perl_code)

        Text::ANSITable

    *   Text::ASCIITable (perl_code)

        Text::ASCIITable

    *   Text::FormatTable (perl_code)

        Text::FormatTable

    *   Text::MarkdownTable (perl_code)

        Text::MarkdownTable

    *   Text::Table (perl_code)

        Text::Table

    *   Text::Table::Tiny (perl_code)

        Text::Table::Tiny

    *   Text::Table::TinyBorderStyle (perl_code)

        Text::Table::TinyBorderStyle

    *   Text::Table::More (perl_code)

        Text::Table::More

    *   Text::Table::Sprintf (perl_code)

        Text::Table::Sprintf

    *   Text::Table::TinyColor (perl_code)

        Text::Table::TinyColor

    *   Text::Table::TinyColorWide (perl_code)

        Text::Table::TinyColorWide

    *   Text::Table::TinyWide (perl_code)

        Text::Table::TinyWide

    *   Text::Table::Org (perl_code)

        Text::Table::Org

    *   Text::Table::CSV (perl_code)

        Text::Table::CSV

    *   Text::Table::HTML (perl_code)

        Text::Table::HTML

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

        Text::Table::HTML::DataTables

    *   Text::TabularDisplay (perl_code)

        Text::TabularDisplay

BENCHMARK DATASETS
    *   tiny (1x1)

    *   small (3x5)

    *   wide (30x5)

    *   long (3x300)

    *   large (30x300)

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

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

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

SAMPLE BENCHMARK RESULTS
    Run on: perl: *v5.34.0*, CPU: *Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
    (2 cores)*, OS: *GNU/Linux Ubuntu version 20.04*, OS kernel: *Linux
    version 5.4.0-91-generic*.

    Benchmark with default options ("bencher --cpanmodules-module
    TextTable"):

     #table1#
     {dataset=>"large (30x300)"}
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | Text::UnicodeBox::Table       |       1   |     990   |                 0.00% |             39075.07% |   0.0093  |      20 |
     | Text::ANSITable               |       2.3 |     440   |               122.45% |             17511.06% |   0.001   |      20 |
     | Text::Table::More             |       2.9 |     350   |               183.78% |             13704.67% |   0.00074 |      20 |
     | Text::ASCIITable              |      12   |      86   |              1044.26% |              3323.61% |   0.00015 |      20 |
     | Text::FormatTable             |      17   |      59   |              1583.12% |              2227.53% |   0.00017 |      21 |
     | Text::Table::TinyColorWide    |      17   |      58   |              1601.03% |              2203.02% |   0.0001  |      20 |
     | Text::Table::TinyWide         |      24   |      41   |              2297.54% |              1533.97% | 7.2e-05   |      20 |
     | Text::SimpleTable             |      32   |      32   |              3016.17% |              1157.16% |   0.00011 |      20 |
     | Text::Table::HTML             |      35   |      29   |              3312.65% |              1047.94% | 6.5e-05   |      20 |
     | Text::Table::Manifold         |      39   |      26   |              3719.11% |               925.76% | 8.6e-05   |      20 |
     | Text::Table::Tiny             |      41   |      24   |              3964.21% |               863.90% | 8.3e-05   |      20 |
     | Text::TabularDisplay          |      47   |      21   |              4546.04% |               743.19% |   0.0002  |      20 |
     | Text::Table::TinyColor        |      62   |      16   |              5986.13% |               543.68% | 4.5e-05   |      20 |
     | Text::MarkdownTable           |      86   |      12   |              8370.09% |               362.51% | 2.4e-05   |      20 |
     | Text::Table                   |     110   |       9.4 |             10414.16% |               272.59% | 3.3e-05   |      20 |
     | Text::Table::HTML::DataTables |     130   |       7.9 |             12381.60% |               213.86% | 2.7e-05   |      20 |
     | Text::Table::TinyBorderStyle  |     220   |       4.5 |             21965.23% |                77.54% | 1.4e-05   |      20 |
     | Text::Table::CSV              |     230   |       4.4 |             22292.34% |                74.95% | 1.7e-05   |      20 |
     | Text::Table::Org              |     230   |       4.3 |             22710.59% |                71.74% | 2.1e-05   |      20 |
     | Text::Table::Sprintf          |     360   |       2.8 |             35801.17% |                 9.12% |   1e-05   |      20 |
     | Text::Table::Any              |     400   |       2.5 |             39075.07% |                 0.00% | 1.3e-05   |      20 |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

    Formatted as Benchmark.pm result:

                                      Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::ASCIITable  Text::FormatTable  Text::Table::TinyColorWide  Text::Table::TinyWide  Text::SimpleTable  Text::Table::HTML  Text::Table::Manifold  Text::Table::Tiny  Text::TabularDisplay  Text::Table::TinyColor  Text::MarkdownTable  Text::Table  Text::Table::HTML::DataTables  Text::Table::TinyBorderStyle  Text::Table::CSV  Text::Table::Org  Text::Table::Sprintf  Text::Table::Any 
      Text::UnicodeBox::Table          1/s                       --             -55%               -64%              -91%               -94%                        -94%                   -95%               -96%               -97%                   -97%               -97%                  -97%                    -98%                 -98%         -99%                           -99%                          -99%              -99%              -99%                  -99%              -99% 
      Text::ANSITable                2.3/s                     125%               --               -20%              -80%               -86%                        -86%                   -90%               -92%               -93%                   -94%               -94%                  -95%                    -96%                 -97%         -97%                           -98%                          -98%              -99%              -99%                  -99%              -99% 
      Text::Table::More              2.9/s                     182%              25%                 --              -75%               -83%                        -83%                   -88%               -90%               -91%                   -92%               -93%                  -94%                    -95%                 -96%         -97%                           -97%                          -98%              -98%              -98%                  -99%              -99% 
      Text::ASCIITable                12/s                    1051%             411%               306%                --               -31%                        -32%                   -52%               -62%               -66%                   -69%               -72%                  -75%                    -81%                 -86%         -89%                           -90%                          -94%              -94%              -95%                  -96%              -97% 
      Text::FormatTable               17/s                    1577%             645%               493%               45%                 --                         -1%                   -30%               -45%               -50%                   -55%               -59%                  -64%                    -72%                 -79%         -84%                           -86%                          -92%              -92%              -92%                  -95%              -95% 
      Text::Table::TinyColorWide      17/s                    1606%             658%               503%               48%                 1%                          --                   -29%               -44%               -50%                   -55%               -58%                  -63%                    -72%                 -79%         -83%                           -86%                          -92%              -92%              -92%                  -95%              -95% 
      Text::Table::TinyWide           24/s                    2314%             973%               753%              109%                43%                         41%                     --               -21%               -29%                   -36%               -41%                  -48%                    -60%                 -70%         -77%                           -80%                          -89%              -89%              -89%                  -93%              -93% 
      Text::SimpleTable               32/s                    2993%            1275%               993%              168%                84%                         81%                    28%                 --                -9%                   -18%               -25%                  -34%                    -50%                 -62%         -70%                           -75%                          -85%              -86%              -86%                  -91%              -92% 
      Text::Table::HTML               35/s                    3313%            1417%              1106%              196%               103%                        100%                    41%                10%                 --                   -10%               -17%                  -27%                    -44%                 -58%         -67%                           -72%                          -84%              -84%              -85%                  -90%              -91% 
      Text::Table::Manifold           39/s                    3707%            1592%              1246%              230%               126%                        123%                    57%                23%                11%                     --                -7%                  -19%                    -38%                 -53%         -63%                           -69%                          -82%              -83%              -83%                  -89%              -90% 
      Text::Table::Tiny               41/s                    4025%            1733%              1358%              258%               145%                        141%                    70%                33%                20%                     8%                 --                  -12%                    -33%                 -50%         -60%                           -67%                          -81%              -81%              -82%                  -88%              -89% 
      Text::TabularDisplay            47/s                    4614%            1995%              1566%              309%               180%                        176%                    95%                52%                38%                    23%                14%                    --                    -23%                 -42%         -55%                           -62%                          -78%              -79%              -79%                  -86%              -88% 
      Text::Table::TinyColor          62/s                    6087%            2650%              2087%              437%               268%                        262%                   156%               100%                81%                    62%                50%                   31%                      --                 -25%         -41%                           -50%                          -71%              -72%              -73%                  -82%              -84% 
      Text::MarkdownTable             86/s                    8150%            3566%              2816%              616%               391%                        383%                   241%               166%               141%                   116%               100%                   75%                     33%                   --         -21%                           -34%                          -62%              -63%              -64%                  -76%              -79% 
      Text::Table                    110/s                   10431%            4580%              3623%              814%               527%                        517%                   336%               240%               208%                   176%               155%                  123%                     70%                  27%           --                           -15%                          -52%              -53%              -54%                  -70%              -73% 
      Text::Table::HTML::DataTables  130/s                   12431%            5469%              4330%              988%               646%                        634%                   418%               305%               267%                   229%               203%                  165%                    102%                  51%          18%                             --                          -43%              -44%              -45%                  -64%              -68% 
      Text::Table::TinyBorderStyle   220/s                   21900%            9677%              7677%             1811%              1211%                       1188%                   811%               611%               544%                   477%               433%                  366%                    255%                 166%         108%                            75%                            --               -2%               -4%                  -37%              -44% 
      Text::Table::CSV               230/s                   22399%            9899%              7854%             1854%              1240%                       1218%                   831%               627%               559%                   490%               445%                  377%                    263%                 172%         113%                            79%                            2%                --               -2%                  -36%              -43% 
      Text::Table::Org               230/s                   22923%           10132%              8039%             1900%              1272%                       1248%                   853%               644%               574%                   504%               458%                  388%                    272%                 179%         118%                            83%                            4%                2%                --                  -34%              -41% 
      Text::Table::Sprintf           360/s                   35257%           15614%             12400%             2971%              2007%                       1971%                  1364%              1042%               935%                   828%               757%                  650%                    471%                 328%         235%                           182%                           60%               57%               53%                    --              -10% 
      Text::Table::Any               400/s                   39500%           17500%             13900%             3340%              2260%                       2220%                  1539%              1180%              1060%                   940%               860%                  740%                    540%                 380%         276%                           216%                           80%               76%               72%                   11%                -- 
 
     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

     #table2#
     {dataset=>"long (3x300)"}
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | Text::UnicodeBox::Table       |       7.8 |   130     |                 0.00% |             37283.05% |   0.0012  |      20 |
     | Text::ANSITable               |      20   |    50     |               155.65% |             14522.58% |   0.00018 |      20 |
     | Text::Table::More             |      25   |    40     |               218.34% |             11643.01% | 9.2e-05   |      20 |
     | Text::ASCIITable              |     100   |     8     |              1451.05% |              2310.18% |   0.0001  |      21 |
     | Text::FormatTable             |     160   |     6.3   |              1932.80% |              1738.99% | 1.1e-05   |      20 |
     | Text::Table::TinyColorWide    |     170   |     5.8   |              2113.73% |              1588.69% | 1.7e-05   |      20 |
     | Text::Table::TinyWide         |     250   |     4.1   |              3045.53% |              1088.45% | 1.3e-05   |      20 |
     | Text::SimpleTable             |     310   |     3.3   |              3791.86% |               860.54% | 7.8e-06   |      20 |
     | Text::TabularDisplay          |     340   |     2.9   |              4242.44% |               760.88% | 2.5e-05   |      20 |
     | Text::Table::Manifold         |     350   |     2.8   |              4380.44% |               734.36% | 1.6e-05   |      21 |
     | Text::Table::Tiny             |     380   |     2.6   |              4796.42% |               663.48% | 1.1e-05   |      20 |
     | Text::Table::HTML             |     400   |     2     |              5268.89% |               596.29% | 2.6e-05   |      20 |
     | Text::MarkdownTable           |     430   |     2.3   |              5342.75% |               586.84% | 5.8e-06   |      20 |
     | Text::Table                   |     510   |     2     |              6390.17% |               476.00% | 7.4e-06   |      20 |
     | Text::Table::TinyColor        |     590   |     1.7   |              7481.10% |               393.11% |   5e-06   |      21 |
     | Text::Table::HTML::DataTables |     990   |     1     |             12555.73% |               195.38% | 5.4e-06   |      20 |
     | Text::Table::TinyBorderStyle  |    1400   |     0.73  |             17384.03% |               113.81% | 1.1e-06   |      20 |
     | Text::Table::Org              |    1600   |     0.61  |             20935.91% |                77.71% | 3.8e-06   |      20 |
     | Text::Table::CSV              |    1800   |     0.556 |             22842.23% |                62.94% | 2.1e-07   |      20 |
     | Text::Table::Any              |    2880   |     0.348 |             36587.08% |                 1.90% | 2.1e-07   |      20 |
     | Text::Table::Sprintf          |    2930   |     0.341 |             37283.05% |                 0.00% | 2.7e-07   |      20 |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

    Formatted as Benchmark.pm result:

                                       Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::ASCIITable  Text::FormatTable  Text::Table::TinyColorWide  Text::Table::TinyWide  Text::SimpleTable  Text::TabularDisplay  Text::Table::Manifold  Text::Table::Tiny  Text::MarkdownTable  Text::Table::HTML  Text::Table  Text::Table::TinyColor  Text::Table::HTML::DataTables  Text::Table::TinyBorderStyle  Text::Table::Org  Text::Table::CSV  Text::Table::Any  Text::Table::Sprintf 
      Text::UnicodeBox::Table         7.8/s                       --             -61%               -69%              -93%               -95%                        -95%                   -96%               -97%                  -97%                   -97%               -98%                 -98%               -98%         -98%                    -98%                           -99%                          -99%              -99%              -99%              -99%                  -99% 
      Text::ANSITable                  20/s                     160%               --               -19%              -84%               -87%                        -88%                   -91%               -93%                  -94%                   -94%               -94%                 -95%               -96%         -96%                    -96%                           -98%                          -98%              -98%              -98%              -99%                  -99% 
      Text::Table::More                25/s                     225%              25%                 --              -80%               -84%                        -85%                   -89%               -91%                  -92%                   -93%               -93%                 -94%               -95%         -95%                    -95%                           -97%                          -98%              -98%              -98%              -99%                  -99% 
      Text::ASCIITable                100/s                    1525%             525%               400%                --               -21%                        -27%                   -48%               -58%                  -63%                   -65%               -67%                 -71%               -75%         -75%                    -78%                           -87%                          -90%              -92%              -93%              -95%                  -95% 
      Text::FormatTable               160/s                    1963%             693%               534%               26%                 --                         -7%                   -34%               -47%                  -53%                   -55%               -58%                 -63%               -68%         -68%                    -73%                           -84%                          -88%              -90%              -91%              -94%                  -94% 
      Text::Table::TinyColorWide      170/s                    2141%             762%               589%               37%                 8%                          --                   -29%               -43%                  -50%                   -51%               -55%                 -60%               -65%         -65%                    -70%                           -82%                          -87%              -89%              -90%              -94%                  -94% 
      Text::Table::TinyWide           250/s                    3070%            1119%               875%               95%                53%                         41%                     --               -19%                  -29%                   -31%               -36%                 -43%               -51%         -51%                    -58%                           -75%                          -82%              -85%              -86%              -91%                  -91% 
      Text::SimpleTable               310/s                    3839%            1415%              1112%              142%                90%                         75%                    24%                 --                  -12%                   -15%               -21%                 -30%               -39%         -39%                    -48%                           -69%                          -77%              -81%              -83%              -89%                  -89% 
      Text::TabularDisplay            340/s                    4382%            1624%              1279%              175%               117%                        100%                    41%                13%                    --                    -3%               -10%                 -20%               -31%         -31%                    -41%                           -65%                          -74%              -78%              -80%              -88%                  -88% 
      Text::Table::Manifold           350/s                    4542%            1685%              1328%              185%               125%                        107%                    46%                17%                    3%                     --                -7%                 -17%               -28%         -28%                    -39%                           -64%                          -73%              -78%              -80%              -87%                  -87% 
      Text::Table::Tiny               380/s                    4900%            1823%              1438%              207%               142%                        123%                    57%                26%                   11%                     7%                 --                 -11%               -23%         -23%                    -34%                           -61%                          -71%              -76%              -78%              -86%                  -86% 
      Text::MarkdownTable             430/s                    5552%            2073%              1639%              247%               173%                        152%                    78%                43%                   26%                    21%                13%                   --               -13%         -13%                    -26%                           -56%                          -68%              -73%              -75%              -84%                  -85% 
      Text::Table::HTML               400/s                    6400%            2400%              1900%              300%               215%                        190%                   104%                64%                   44%                    39%                30%                  14%                 --           0%                    -15%                           -50%                          -63%              -69%              -72%              -82%                  -82% 
      Text::Table                     510/s                    6400%            2400%              1900%              300%               215%                        190%                   104%                64%                   44%                    39%                30%                  14%                 0%           --                    -15%                           -50%                          -63%              -69%              -72%              -82%                  -82% 
      Text::Table::TinyColor          590/s                    7547%            2841%              2252%              370%               270%                        241%                   141%                94%                   70%                    64%                52%                  35%                17%          17%                      --                           -41%                          -57%              -64%              -67%              -79%                  -79% 
      Text::Table::HTML::DataTables   990/s                   12900%            4900%              3900%              700%               530%                        480%                   309%               229%                  190%                   179%               160%                 129%               100%         100%                     70%                             --                          -27%              -39%              -44%              -65%                  -65% 
      Text::Table::TinyBorderStyle   1400/s                   17708%            6749%              5379%              995%               763%                        694%                   461%               352%                  297%                   283%               256%                 215%               173%         173%                    132%                            36%                            --              -16%              -23%              -52%                  -53% 
      Text::Table::Org               1600/s                   21211%            8096%              6457%             1211%               932%                        850%                   572%               440%                  375%                   359%               326%                 277%               227%         227%                    178%                            63%                           19%                --               -8%              -42%                  -44% 
      Text::Table::CSV               1800/s                   23281%            8892%              7094%             1338%              1033%                        943%                   637%               493%                  421%                   403%               367%                 313%               259%         259%                    205%                            79%                           31%                9%                --              -37%                  -38% 
      Text::Table::Any               2880/s                   37256%           14267%             11394%             2198%              1710%                       1566%                  1078%               848%                  733%                   704%               647%                 560%               474%         474%                    388%                           187%                          109%               75%               59%                --                   -2% 
      Text::Table::Sprintf           2930/s                   38023%           14562%             11630%             2246%              1747%                       1600%                  1102%               867%                  750%                   721%               662%                 574%               486%         486%                    398%                           193%                          114%               78%               63%                2%                    -- 
 
     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

     #table3#
     {dataset=>"small (3x5)"}
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
     | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors | samples |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+
     | Text::UnicodeBox::Table       |       200 |    5      |                 0.00% |             49318.62% | 6.5e-05 |      20 |
     | Text::ANSITable               |       710 |    1.4    |               273.25% |             13140.15% | 5.4e-06 |      20 |
     | Text::Table::More             |      1000 |    0.99   |               432.26% |              9184.73% | 1.8e-06 |      20 |
     | Text::Table::TinyBorderStyle  |      3900 |    0.26   |              1949.48% |              2311.27% | 6.9e-07 |      20 |
     | Text::ASCIITable              |      4800 |    0.21   |              2417.39% |              1863.09% | 1.3e-06 |      21 |
     | Text::FormatTable             |      6800 |    0.15   |              3516.95% |              1266.30% | 6.9e-07 |      20 |
     | Text::Table                   |      7700 |    0.13   |              3978.23% |              1111.77% | 2.5e-07 |      22 |
     | Text::Table::Manifold         |      7800 |    0.13   |              4013.06% |              1101.50% | 2.1e-07 |      20 |
     | Text::Table::TinyColorWide    |      7900 |    0.13   |              4082.92% |              1081.44% | 2.1e-07 |      20 |
     | Text::Table::TinyWide         |     11000 |    0.089  |              5805.69% |               736.80% | 1.1e-07 |      20 |
     | Text::MarkdownTable           |     12000 |    0.081  |              6428.62% |               656.95% | 8.6e-08 |      31 |
     | Text::SimpleTable             |     13000 |    0.077  |              6777.54% |               618.55% |   1e-07 |      33 |
     | Text::TabularDisplay          |     15000 |    0.066  |              7937.39% |               514.86% | 4.3e-07 |      20 |
     | Text::Table::HTML::DataTables |     15000 |    0.066  |              7962.70% |               512.93% | 9.5e-08 |      25 |
     | Text::Table::Tiny             |     15300 |    0.0653 |              7993.91% |               510.57% | 2.6e-08 |      21 |
     | Text::Table::TinyColor        |     24000 |    0.0417 |             12569.86% |               290.05% | 1.3e-08 |      20 |
     | Text::Table::HTML             |     24800 |    0.0403 |             13012.25% |               276.89% | 1.3e-08 |      20 |
     | Text::Table::Org              |     52600 |    0.019  |             27683.28% |                77.87% | 6.1e-09 |      24 |
     | Text::Table::CSV              |     78900 |    0.0127 |             41573.53% |                18.59% |   5e-09 |      35 |
     | Text::Table::Any              |     80600 |    0.0124 |             42507.83% |                15.98% | 3.3e-09 |      20 |
     | Text::Table::Sprintf          |     93500 |    0.0107 |             49318.62% |                 0.00% |   3e-09 |      24 |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+

    Formatted as Benchmark.pm result:

                                        Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::Table::TinyBorderStyle  Text::ASCIITable  Text::FormatTable  Text::Table  Text::Table::Manifold  Text::Table::TinyColorWide  Text::Table::TinyWide  Text::MarkdownTable  Text::SimpleTable  Text::TabularDisplay  Text::Table::HTML::DataTables  Text::Table::Tiny  Text::Table::TinyColor  Text::Table::HTML  Text::Table::Org  Text::Table::CSV  Text::Table::Any  Text::Table::Sprintf 
      Text::UnicodeBox::Table          200/s                       --             -72%               -80%                          -94%              -95%               -97%         -97%                   -97%                        -97%                   -98%                 -98%               -98%                  -98%                           -98%               -98%                    -99%               -99%              -99%              -99%              -99%                  -99% 
      Text::ANSITable                  710/s                     257%               --               -29%                          -81%              -85%               -89%         -90%                   -90%                        -90%                   -93%                 -94%               -94%                  -95%                           -95%               -95%                    -97%               -97%              -98%              -99%              -99%                  -99% 
      Text::Table::More               1000/s                     405%              41%                 --                          -73%              -78%               -84%         -86%                   -86%                        -86%                   -91%                 -91%               -92%                  -93%                           -93%               -93%                    -95%               -95%              -98%              -98%              -98%                  -98% 
      Text::Table::TinyBorderStyle    3900/s                    1823%             438%               280%                            --              -19%               -42%         -50%                   -50%                        -50%                   -65%                 -68%               -70%                  -74%                           -74%               -74%                    -83%               -84%              -92%              -95%              -95%                  -95% 
      Text::ASCIITable                4800/s                    2280%             566%               371%                           23%                --               -28%         -38%                   -38%                        -38%                   -57%                 -61%               -63%                  -68%                           -68%               -68%                    -80%               -80%              -90%              -93%              -94%                  -94% 
      Text::FormatTable               6800/s                    3233%             833%               560%                           73%               39%                 --         -13%                   -13%                        -13%                   -40%                 -46%               -48%                  -55%                           -55%               -56%                    -72%               -73%              -87%              -91%              -91%                  -92% 
      Text::Table                     7700/s                    3746%             976%               661%                          100%               61%                15%           --                     0%                          0%                   -31%                 -37%               -40%                  -49%                           -49%               -49%                    -67%               -69%              -85%              -90%              -90%                  -91% 
      Text::Table::Manifold           7800/s                    3746%             976%               661%                          100%               61%                15%           0%                     --                          0%                   -31%                 -37%               -40%                  -49%                           -49%               -49%                    -67%               -69%              -85%              -90%              -90%                  -91% 
      Text::Table::TinyColorWide      7900/s                    3746%             976%               661%                          100%               61%                15%           0%                     0%                          --                   -31%                 -37%               -40%                  -49%                           -49%               -49%                    -67%               -69%              -85%              -90%              -90%                  -91% 
      Text::Table::TinyWide          11000/s                    5517%            1473%              1012%                          192%              135%                68%          46%                    46%                         46%                     --                  -8%               -13%                  -25%                           -25%               -26%                    -53%               -54%              -78%              -85%              -86%                  -87% 
      Text::MarkdownTable            12000/s                    6072%            1628%              1122%                          220%              159%                85%          60%                    60%                         60%                     9%                   --                -4%                  -18%                           -18%               -19%                    -48%               -50%              -76%              -84%              -84%                  -86% 
      Text::SimpleTable              13000/s                    6393%            1718%              1185%                          237%              172%                94%          68%                    68%                         68%                    15%                   5%                 --                  -14%                           -14%               -15%                    -45%               -47%              -75%              -83%              -83%                  -86% 
      Text::TabularDisplay           15000/s                    7475%            2021%              1400%                          293%              218%               127%          96%                    96%                         96%                    34%                  22%                16%                    --                             0%                -1%                    -36%               -38%              -71%              -80%              -81%                  -83% 
      Text::Table::HTML::DataTables  15000/s                    7475%            2021%              1400%                          293%              218%               127%          96%                    96%                         96%                    34%                  22%                16%                    0%                             --                -1%                    -36%               -38%              -71%              -80%              -81%                  -83% 
      Text::Table::Tiny              15300/s                    7556%            2043%              1416%                          298%              221%               129%          99%                    99%                         99%                    36%                  24%                17%                    1%                             1%                 --                    -36%               -38%              -70%              -80%              -81%                  -83% 
      Text::Table::TinyColor         24000/s                   11890%            3257%              2274%                          523%              403%               259%         211%                   211%                        211%                   113%                  94%                84%                   58%                            58%                56%                      --                -3%              -54%              -69%              -70%                  -74% 
      Text::Table::HTML              24800/s                   12306%            3373%              2356%                          545%              421%               272%         222%                   222%                        222%                   120%                 100%                91%                   63%                            63%                62%                      3%                 --              -52%              -68%              -69%                  -73% 
      Text::Table::Org               52600/s                   26215%            7268%              5110%                         1268%             1005%               689%         584%                   584%                        584%                   368%                 326%               305%                  247%                           247%               243%                    119%               112%                --              -33%              -34%                  -43% 
      Text::Table::CSV               78900/s                   39270%           10923%              7695%                         1947%             1553%              1081%         923%                   923%                        923%                   600%                 537%               506%                  419%                           419%               414%                    228%               217%               49%                --               -2%                  -15% 
      Text::Table::Any               80600/s                   40222%           11190%              7883%                         1996%             1593%              1109%         948%                   948%                        948%                   617%                 553%               520%                  432%                           432%               426%                    236%               225%               53%                2%                --                  -13% 
      Text::Table::Sprintf           93500/s                   46628%           12984%              9152%                         2329%             1862%              1301%        1114%                  1114%                       1114%                   731%                 657%               619%                  516%                           516%               510%                    289%               276%               77%               18%               15%                    -- 
 
     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

     #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% |             75061.76% | 7.2e-05 |      20 |
     | Text::ANSITable               |    2300   | 0.44      |               481.41% |             12827.45% | 1.3e-06 |      20 |
     | Text::Table::More             |    3000   | 0.33      |               673.26% |              9620.14% | 2.2e-06 |      20 |
     | Text::Table::TinyBorderStyle  |    4800   | 0.21      |              1127.95% |              6020.92% | 6.9e-07 |      20 |
     | Text::Table::Manifold         |   14000   | 0.073     |              3390.75% |              2053.17% | 1.1e-07 |      20 |
     | Text::ASCIITable              |   17000   | 0.06      |              4189.96% |              1652.04% | 3.5e-07 |      20 |
     | Text::Table                   |   20000   | 0.05      |              4719.47% |              1459.55% | 6.7e-07 |      20 |
     | Text::Table::HTML::DataTables |   21000   | 0.048     |              5262.00% |              1301.75% | 9.7e-08 |      24 |
     | Text::MarkdownTable           |   25000   | 0.04      |              6258.17% |              1082.13% | 1.1e-07 |      20 |
     | Text::FormatTable             |   34000   | 0.029     |              8611.91% |               762.75% | 1.1e-07 |      22 |
     | Text::Table::TinyColorWide    |   46000   | 0.022     |             11750.19% |               534.27% |   3e-08 |      24 |
     | Text::Table::Tiny             |   54000   | 0.018     |             13862.61% |               438.31% | 2.6e-08 |      21 |
     | Text::Table::TinyWide         |   60000   | 0.017     |             15386.79% |               385.33% |   2e-08 |      20 |
     | Text::TabularDisplay          |   62468.1 | 0.0160082 |             15911.46% |               369.42% |   0     |      20 |
     | Text::SimpleTable             |   64700   | 0.0155    |             16471.25% |               353.57% | 6.7e-09 |      20 |
     | Text::Table::TinyColor        |   91000   | 0.011     |             23131.41% |               223.54% | 1.3e-08 |      22 |
     | Text::Table::HTML             |  120000   | 0.0082    |             31181.42% |               140.28% |   1e-08 |      20 |
     | Text::Table::Org              |  142000   | 0.00703   |             36356.69% |               106.17% | 2.9e-09 |      26 |
     | Text::Table::Any              |  180000   | 0.0054    |             47266.53% |                58.68% | 6.5e-09 |      21 |
     | Text::Table::Sprintf          |  270000   | 0.0037    |             68997.45% |                 8.78% | 1.3e-08 |      20 |
     | Text::Table::CSV              |  293000   | 0.00341   |             75061.76% |                 0.00% | 1.4e-09 |      29 |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+---------+---------+

    Formatted as Benchmark.pm result:

                                          Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::Table::TinyBorderStyle  Text::Table::Manifold  Text::ASCIITable  Text::Table  Text::Table::HTML::DataTables  Text::MarkdownTable  Text::FormatTable  Text::Table::TinyColorWide  Text::Table::Tiny  Text::Table::TinyWide  Text::TabularDisplay  Text::SimpleTable  Text::Table::TinyColor  Text::Table::HTML  Text::Table::Org  Text::Table::Any  Text::Table::Sprintf  Text::Table::CSV 
      Text::UnicodeBox::Table            400/s                       --             -85%               -89%                          -93%                   -97%              -98%         -98%                           -98%                 -98%               -99%                        -99%               -99%                   -99%                  -99%               -99%                    -99%               -99%              -99%              -99%                  -99%              -99% 
      Text::ANSITable                   2300/s                     581%               --               -25%                          -52%                   -83%              -86%         -88%                           -89%                 -90%               -93%                        -95%               -95%                   -96%                  -96%               -96%                    -97%               -98%              -98%              -98%                  -99%              -99% 
      Text::Table::More                 3000/s                     809%              33%                 --                          -36%                   -77%              -81%         -84%                           -85%                 -87%               -91%                        -93%               -94%                   -94%                  -95%               -95%                    -96%               -97%              -97%              -98%                  -98%              -98% 
      Text::Table::TinyBorderStyle      4800/s                    1328%             109%                57%                            --                   -65%              -71%         -76%                           -77%                 -80%               -86%                        -89%               -91%                   -91%                  -92%               -92%                    -94%               -96%              -96%              -97%                  -98%              -98% 
      Text::Table::Manifold            14000/s                    4009%             502%               352%                          187%                     --              -17%         -31%                           -34%                 -45%               -60%                        -69%               -75%                   -76%                  -78%               -78%                    -84%               -88%              -90%              -92%                  -94%              -95% 
      Text::ASCIITable                 17000/s                    4900%             633%               450%                          250%                    21%                --         -16%                           -19%                 -33%               -51%                        -63%               -70%                   -71%                  -73%               -74%                    -81%               -86%              -88%              -91%                  -93%              -94% 
      Text::Table                      20000/s                    5900%             779%               560%                          319%                    45%               19%           --                            -4%                 -20%               -42%                        -56%               -64%                   -65%                  -67%               -69%                    -78%               -83%              -85%              -89%                  -92%              -93% 
      Text::Table::HTML::DataTables    21000/s                    6150%             816%               587%                          337%                    52%               25%           4%                             --                 -16%               -39%                        -54%               -62%                   -64%                  -66%               -67%                    -77%               -82%              -85%              -88%                  -92%              -92% 
      Text::MarkdownTable              25000/s                    7400%            1000%               725%                          425%                    82%               50%          25%                            19%                   --               -27%                        -45%               -55%                   -57%                  -59%               -61%                    -72%               -79%              -82%              -86%                  -90%              -91% 
      Text::FormatTable                34000/s                   10244%            1417%              1037%                          624%                   151%              106%          72%                            65%                  37%                 --                        -24%               -37%                   -41%                  -44%               -46%                    -62%               -71%              -75%              -81%                  -87%              -88% 
      Text::Table::TinyColorWide       46000/s                   13536%            1900%              1400%                          854%                   231%              172%         127%                           118%                  81%                31%                          --               -18%                   -22%                  -27%               -29%                    -50%               -62%              -68%              -75%                  -83%              -84% 
      Text::Table::Tiny                54000/s                   16566%            2344%              1733%                         1066%                   305%              233%         177%                           166%                 122%                61%                         22%                 --                    -5%                  -11%               -13%                    -38%               -54%              -60%              -70%                  -79%              -81% 
      Text::Table::TinyWide            60000/s                   17547%            2488%              1841%                         1135%                   329%              252%         194%                           182%                 135%                70%                         29%                 5%                     --                   -5%                -8%                    -35%               -51%              -58%              -68%                  -78%              -79% 
      Text::TabularDisplay           62468.1/s                   18640%            2648%              1961%                         1211%                   356%              274%         212%                           199%                 149%                81%                         37%                12%                     6%                    --                -3%                    -31%               -48%              -56%              -66%                  -76%              -78% 
      Text::SimpleTable                64700/s                   19254%            2738%              2029%                         1254%                   370%              287%         222%                           209%                 158%                87%                         41%                16%                     9%                    3%                 --                    -29%               -47%              -54%              -65%                  -76%              -78% 
      Text::Table::TinyColor           91000/s                   27172%            3900%              2900%                         1809%                   563%              445%         354%                           336%                 263%               163%                        100%                63%                    54%                   45%                40%                      --               -25%              -36%              -50%                  -66%              -69% 
      Text::Table::HTML               120000/s                   36485%            5265%              3924%                         2460%                   790%              631%         509%                           485%                 387%               253%                        168%               119%                   107%                   95%                89%                     34%                 --              -14%              -34%                  -54%              -58% 
      Text::Table::Org                142000/s                   42574%            6158%              4594%                         2887%                   938%              753%         611%                           582%                 468%               312%                        212%               156%                   141%                  127%               120%                     56%                16%                --              -23%                  -47%              -51% 
      Text::Table::Any                180000/s                   55455%            8048%              6011%                         3788%                  1251%             1011%         825%                           788%                 640%               437%                        307%               233%                   214%                  196%               187%                    103%                51%               30%                --                  -31%              -36% 
      Text::Table::Sprintf            270000/s                   80981%           11791%              8818%                         5575%                  1872%             1521%        1251%                          1197%                 981%               683%                        494%               386%                   359%                  332%               318%                    197%               121%               89%               45%                    --               -7% 
      Text::Table::CSV                293000/s                   87876%           12803%              9577%                         6058%                  2040%             1659%        1366%                          1307%                1073%               750%                        545%               427%                   398%                  369%               354%                    222%               140%              106%               58%                    8%                -- 
 
     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

     #table5#
     {dataset=>"wide (30x5)"}
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | participant                   | rate (/s) | time (ms) | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+
     | Text::UnicodeBox::Table       |        40 |   25      |                 0.00% |             38035.84% |   0.00013 |      21 |
     | Text::ANSITable               |        94 |   11      |               137.04% |             15988.38% | 4.2e-05   |      20 |
     | Text::Table::More             |       130 |    7.5    |               236.11% |             11246.27% | 3.4e-05   |      20 |
     | Text::ASCIITable              |       520 |    1.9    |              1211.61% |              2807.55% | 3.5e-06   |      20 |
     | Text::FormatTable             |       720 |    1.4    |              1700.78% |              2017.74% | 1.8e-06   |      21 |
     | Text::Table::TinyColorWide    |       880 |    1.1    |              2117.40% |              1619.84% |   3e-06   |      20 |
     | Text::Table                   |      1200 |    0.85   |              2868.25% |              1184.79% | 9.1e-07   |      20 |
     | Text::Table::TinyWide         |      1200 |    0.82   |              2979.82% |              1138.25% | 2.1e-06   |      20 |
     | Text::Table::TinyBorderStyle  |      1240 |    0.807  |              3010.24% |              1126.14% | 6.4e-07   |      20 |
     | Text::SimpleTable             |      1600 |    0.61   |              4019.62% |               825.71% | 8.8e-07   |      21 |
     | Text::Table::Manifold         |      1700 |    0.6    |              4093.25% |               809.46% | 8.5e-07   |      20 |
     | Text::Table::Tiny             |      2020 |    0.495  |              4977.95% |               651.01% | 4.8e-07   |      20 |
     | Text::TabularDisplay          |      2300 |    0.43   |              5776.56% |               548.95% | 1.4e-06   |      20 |
     | Text::Table::HTML             |      3000 |    0.33   |              7451.94% |               404.98% | 6.4e-07   |      20 |
     | Text::Table::TinyColor        |      3050 |    0.328  |              7559.95% |               397.86% | 1.9e-07   |      24 |
     | Text::MarkdownTable           |      3500 |    0.29   |              8665.15% |               335.08% | 4.3e-07   |      20 |
     | Text::Table::HTML::DataTables |      4800 |    0.21   |             11976.18% |               215.79% | 1.3e-06   |      20 |
     | Text::Table::Org              |      8600 |    0.12   |             21438.87% |                77.06% | 2.7e-07   |      20 |
     | Text::Table::CSV              |     12000 |    0.085  |             29353.92% |                29.48% | 2.1e-07   |      20 |
     | Text::Table::Any              |     14500 |    0.0688 |             36414.52% |                 4.44% | 2.7e-08   |      20 |
     | Text::Table::Sprintf          |     15200 |    0.0659 |             38035.84% |                 0.00% | 2.5e-08   |      22 |
     +-------------------------------+-----------+-----------+-----------------------+-----------------------+-----------+---------+

    Formatted as Benchmark.pm result:

                                        Rate  Text::UnicodeBox::Table  Text::ANSITable  Text::Table::More  Text::ASCIITable  Text::FormatTable  Text::Table::TinyColorWide  Text::Table  Text::Table::TinyWide  Text::Table::TinyBorderStyle  Text::SimpleTable  Text::Table::Manifold  Text::Table::Tiny  Text::TabularDisplay  Text::Table::HTML  Text::Table::TinyColor  Text::MarkdownTable  Text::Table::HTML::DataTables  Text::Table::Org  Text::Table::CSV  Text::Table::Any  Text::Table::Sprintf 
      Text::UnicodeBox::Table           40/s                       --             -56%               -70%              -92%               -94%                        -95%         -96%                   -96%                          -96%               -97%                   -97%               -98%                  -98%               -98%                    -98%                 -98%                           -99%              -99%              -99%              -99%                  -99% 
      Text::ANSITable                   94/s                     127%               --               -31%              -82%               -87%                        -90%         -92%                   -92%                          -92%               -94%                   -94%               -95%                  -96%               -97%                    -97%                 -97%                           -98%              -98%              -99%              -99%                  -99% 
      Text::Table::More                130/s                     233%              46%                 --              -74%               -81%                        -85%         -88%                   -89%                          -89%               -91%                   -92%               -93%                  -94%               -95%                    -95%                 -96%                           -97%              -98%              -98%              -99%                  -99% 
      Text::ASCIITable                 520/s                    1215%             478%               294%                --               -26%                        -42%         -55%                   -56%                          -57%               -67%                   -68%               -73%                  -77%               -82%                    -82%                 -84%                           -88%              -93%              -95%              -96%                  -96% 
      Text::FormatTable                720/s                    1685%             685%               435%               35%                 --                        -21%         -39%                   -41%                          -42%               -56%                   -57%               -64%                  -69%               -76%                    -76%                 -79%                           -85%              -91%              -93%              -95%                  -95% 
      Text::Table::TinyColorWide       880/s                    2172%             900%               581%               72%                27%                          --         -22%                   -25%                          -26%               -44%                   -45%               -55%                  -60%               -70%                    -70%                 -73%                           -80%              -89%              -92%              -93%                  -94% 
      Text::Table                     1200/s                    2841%            1194%               782%              123%                64%                         29%           --                    -3%                           -5%               -28%                   -29%               -41%                  -49%               -61%                    -61%                 -65%                           -75%              -85%              -90%              -91%                  -92% 
      Text::Table::TinyWide           1200/s                    2948%            1241%               814%              131%                70%                         34%           3%                     --                           -1%               -25%                   -26%               -39%                  -47%               -59%                    -60%                 -64%                           -74%              -85%              -89%              -91%                  -91% 
      Text::Table::TinyBorderStyle    1240/s                    2997%            1263%               829%              135%                73%                         36%           5%                     1%                            --               -24%                   -25%               -38%                  -46%               -59%                    -59%                 -64%                           -73%              -85%              -89%              -91%                  -91% 
      Text::SimpleTable               1600/s                    3998%            1703%              1129%              211%               129%                         80%          39%                    34%                           32%                 --                    -1%               -18%                  -29%               -45%                    -46%                 -52%                           -65%              -80%              -86%              -88%                  -89% 
      Text::Table::Manifold           1700/s                    4066%            1733%              1150%              216%               133%                         83%          41%                    36%                           34%                 1%                     --               -17%                  -28%               -44%                    -45%                 -51%                           -65%              -80%              -85%              -88%                  -89% 
      Text::Table::Tiny               2020/s                    4950%            2122%              1415%              283%               182%                        122%          71%                    65%                           63%                23%                    21%                 --                  -13%               -33%                    -33%                 -41%                           -57%              -75%              -82%              -86%                  -86% 
      Text::TabularDisplay            2300/s                    5713%            2458%              1644%              341%               225%                        155%          97%                    90%                           87%                41%                    39%                15%                    --               -23%                    -23%                 -32%                           -51%              -72%              -80%              -84%                  -84% 
      Text::Table::HTML               3000/s                    7475%            3233%              2172%              475%               324%                        233%         157%                   148%                          144%                84%                    81%                50%                   30%                 --                      0%                 -12%                           -36%              -63%              -74%              -79%                  -80% 
      Text::Table::TinyColor          3050/s                    7521%            3253%              2186%              479%               326%                        235%         159%                   149%                          146%                85%                    82%                50%                   31%                 0%                      --                 -11%                           -35%              -63%              -74%              -79%                  -79% 
      Text::MarkdownTable             3500/s                    8520%            3693%              2486%              555%               382%                        279%         193%                   182%                          178%               110%                   106%                70%                   48%                13%                     13%                   --                           -27%              -58%              -70%              -76%                  -77% 
      Text::Table::HTML::DataTables   4800/s                   11804%            5138%              3471%              804%               566%                        423%         304%                   290%                          284%               190%                   185%               135%                  104%                57%                     56%                  38%                             --              -42%              -59%              -67%                  -68% 
      Text::Table::Org                8600/s                   20733%            9066%              6150%             1483%              1066%                        816%         608%                   583%                          572%               408%                   400%               312%                  258%               175%                    173%                 141%                            75%                --              -29%              -42%                  -45% 
      Text::Table::CSV               12000/s                   29311%           12841%              8723%             2135%              1547%                       1194%         899%                   864%                          849%               617%                   605%               482%                  405%               288%                    285%                 241%                           147%               41%                --              -19%                  -22% 
      Text::Table::Any               14500/s                   36237%           15888%             10801%             2661%              1934%                       1498%        1135%                  1091%                         1072%               786%                   772%               619%                  525%               379%                    376%                 321%                           205%               74%               23%                --                   -4% 
      Text::Table::Sprintf           15200/s                   37836%           16591%             11280%             2783%              2024%                       1569%        1189%                  1144%                         1124%               825%                   810%               651%                  552%               400%                    397%                 340%                           218%               82%               28%                4%                    -- 
 
     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

    Benchmark module startup overhead ("bencher --cpanmodules-module
    TextTable --module-startup"):

     #table6#
     +-------------------------------+-----------+---------------------+-----------------------+-----------------------+-----------+---------+
     | participant                   | time (ms) | mod_overhead_time   | pct_faster_vs_slowest | pct_slower_vs_fastest |  errors   | samples |
     +-------------------------------+-----------+---------------------+-----------------------+-----------------------+-----------+---------+
     | Text::UnicodeBox::Table       |     170   | 161.4               |                 0.00% |              1830.18% |   0.00027 |      20 |
     | Text::Table::Manifold         |      92   |  83.4               |                81.30% |               964.64% |   0.00016 |      20 |
     | Text::ANSITable               |      47   |  38.4               |               257.06% |               440.57% | 5.5e-05   |      20 |
     | Text::MarkdownTable           |      42   |  33.4               |               294.86% |               388.83% | 5.6e-05   |      20 |
     | Text::Table::TinyColorWide    |      35   |  26.4               |               380.00% |               302.12% | 6.6e-05   |      20 |
     | Text::Table::TinyWide         |      32.1 |  23.5               |               419.12% |               271.82% | 2.7e-05   |      20 |
     | Text::Table::More             |      25   |  16.4               |               559.15% |               192.83% | 7.8e-05   |      20 |
     | Text::Table                   |      24   |  15.4               |               601.85% |               175.01% |   0.00011 |      20 |
     | Text::ASCIITable              |      19   |  10.4               |               777.55% |               119.95% | 9.1e-05   |      20 |
     | Text::Table::Tiny             |      19   |  10.4               |               787.87% |               117.39% |   0.00011 |      20 |
     | Text::FormatTable             |      16   |   7.4               |               960.14% |                82.07% | 3.8e-05   |      20 |
     | Text::Table::TinyColor        |      15   |   6.4               |               998.71% |                75.68% | 6.9e-05   |      20 |
     | Text::Table::TinyBorderStyle  |      13   |   4.4               |              1185.52% |                50.15% |   0.00011 |      20 |
     | Text::Table::Any              |      12.5 |   3.9               |              1234.89% |                44.60% | 1.1e-05   |      20 |
     | Text::SimpleTable             |      12   |   3.4               |              1314.31% |                36.48% | 5.5e-05   |      20 |
     | Text::TabularDisplay          |      12   |   3.4               |              1320.89% |                35.84% | 5.7e-05   |      20 |
     | Text::Table::HTML::DataTables |      11   |   2.4               |              1410.81% |                27.76% | 2.6e-05   |      20 |
     | Text::Table::HTML             |      11   |   2.4               |              1417.70% |                27.18% | 4.1e-05   |      22 |
     | Text::Table::Org              |      11   |   2.4               |              1433.01% |                25.91% | 2.3e-05   |      20 |
     | Text::Table::CSV              |       8.9 |   0.300000000000001 |              1759.70% |                 3.79% | 1.6e-05   |      20 |
     | Text::Table::Sprintf          |       8.8 |   0.200000000000001 |              1789.17% |                 2.17% | 1.8e-05   |      20 |
     | perl -e1 (baseline)           |       8.6 |   0                 |              1830.18% |                 0.00% |   5e-05   |      20 |
     +-------------------------------+-----------+---------------------+-----------------------+-----------------------+-----------+---------+

    Formatted as Benchmark.pm result:

                                        Rate  Text::UnicodeBox::Table  Text::Table::Manifold  Text::ANSITable  Text::MarkdownTable  Text::Table::TinyColorWide  Text::Table::TinyWide  Text::Table::More  Text::Table  Text::ASCIITable  Text::Table::Tiny  Text::FormatTable  Text::Table::TinyColor  Text::Table::TinyBorderStyle  Text::Table::Any  Text::SimpleTable  Text::TabularDisplay  Text::Table::HTML::DataTables  Text::Table::HTML  Text::Table::Org  Text::Table::CSV  Text::Table::Sprintf  perl -e1 (baseline) 
      Text::UnicodeBox::Table          5.9/s                       --                   -45%             -72%                 -75%                        -79%                   -81%               -85%         -85%              -88%               -88%               -90%                    -91%                          -92%              -92%               -92%                  -92%                           -93%               -93%              -93%              -94%                  -94%                 -94% 
      Text::Table::Manifold           10.9/s                      84%                     --             -48%                 -54%                        -61%                   -65%               -72%         -73%              -79%               -79%               -82%                    -83%                          -85%              -86%               -86%                  -86%                           -88%               -88%              -88%              -90%                  -90%                 -90% 
      Text::ANSITable                 21.3/s                     261%                    95%               --                 -10%                        -25%                   -31%               -46%         -48%              -59%               -59%               -65%                    -68%                          -72%              -73%               -74%                  -74%                           -76%               -76%              -76%              -81%                  -81%                 -81% 
      Text::MarkdownTable             23.8/s                     304%                   119%              11%                   --                        -16%                   -23%               -40%         -42%              -54%               -54%               -61%                    -64%                          -69%              -70%               -71%                  -71%                           -73%               -73%              -73%              -78%                  -79%                 -79% 
      Text::Table::TinyColorWide      28.6/s                     385%                   162%              34%                  19%                          --                    -8%               -28%         -31%              -45%               -45%               -54%                    -57%                          -62%              -64%               -65%                  -65%                           -68%               -68%              -68%              -74%                  -74%                 -75% 
      Text::Table::TinyWide           31.2/s                     429%                   186%              46%                  30%                          9%                     --               -22%         -25%              -40%               -40%               -50%                    -53%                          -59%              -61%               -62%                  -62%                           -65%               -65%              -65%              -72%                  -72%                 -73% 
      Text::Table::More               40.0/s                     580%                   268%              87%                  68%                         39%                    28%                 --          -4%              -24%               -24%               -36%                    -40%                          -48%              -50%               -52%                  -52%                           -56%               -56%              -56%              -64%                  -64%                 -65% 
      Text::Table                     41.7/s                     608%                   283%              95%                  75%                         45%                    33%                 4%           --              -20%               -20%               -33%                    -37%                          -45%              -47%               -50%                  -50%                           -54%               -54%              -54%              -62%                  -63%                 -64% 
      Text::ASCIITable                52.6/s                     794%                   384%             147%                 121%                         84%                    68%                31%          26%                --                 0%               -15%                    -21%                          -31%              -34%               -36%                  -36%                           -42%               -42%              -42%              -53%                  -53%                 -54% 
      Text::Table::Tiny               52.6/s                     794%                   384%             147%                 121%                         84%                    68%                31%          26%                0%                 --               -15%                    -21%                          -31%              -34%               -36%                  -36%                           -42%               -42%              -42%              -53%                  -53%                 -54% 
      Text::FormatTable               62.5/s                     962%                   475%             193%                 162%                        118%                   100%                56%          50%               18%                18%                 --                     -6%                          -18%              -21%               -25%                  -25%                           -31%               -31%              -31%              -44%                  -44%                 -46% 
      Text::Table::TinyColor          66.7/s                    1033%                   513%             213%                 179%                        133%                   114%                66%          60%               26%                26%                 6%                      --                          -13%              -16%               -19%                  -19%                           -26%               -26%              -26%              -40%                  -41%                 -42% 
      Text::Table::TinyBorderStyle    76.9/s                    1207%                   607%             261%                 223%                        169%                   146%                92%          84%               46%                46%                23%                     15%                            --               -3%                -7%                   -7%                           -15%               -15%              -15%              -31%                  -32%                 -33% 
      Text::Table::Any                80.0/s                    1260%                   636%             276%                 236%                        179%                   156%               100%          92%               52%                52%                28%                     19%                            4%                --                -4%                   -4%                           -12%               -12%              -12%              -28%                  -29%                 -31% 
      Text::SimpleTable               83.3/s                    1316%                   666%             291%                 250%                        191%                   167%               108%         100%               58%                58%                33%                     25%                            8%                4%                 --                    0%                            -8%                -8%               -8%              -25%                  -26%                 -28% 
      Text::TabularDisplay            83.3/s                    1316%                   666%             291%                 250%                        191%                   167%               108%         100%               58%                58%                33%                     25%                            8%                4%                 0%                    --                            -8%                -8%               -8%              -25%                  -26%                 -28% 
      Text::Table::HTML::DataTables   90.9/s                    1445%                   736%             327%                 281%                        218%                   191%               127%         118%               72%                72%                45%                     36%                           18%               13%                 9%                    9%                             --                 0%                0%              -19%                  -19%                 -21% 
      Text::Table::HTML               90.9/s                    1445%                   736%             327%                 281%                        218%                   191%               127%         118%               72%                72%                45%                     36%                           18%               13%                 9%                    9%                             0%                 --                0%              -19%                  -19%                 -21% 
      Text::Table::Org                90.9/s                    1445%                   736%             327%                 281%                        218%                   191%               127%         118%               72%                72%                45%                     36%                           18%               13%                 9%                    9%                             0%                 0%                --              -19%                  -19%                 -21% 
      Text::Table::CSV               112.4/s                    1810%                   933%             428%                 371%                        293%                   260%               180%         169%              113%               113%                79%                     68%                           46%               40%                34%                   34%                            23%                23%               23%                --                   -1%                  -3% 
      Text::Table::Sprintf           113.6/s                    1831%                   945%             434%                 377%                        297%                   264%               184%         172%              115%               115%                81%                     70%                           47%               42%                36%                   36%                            25%                25%               25%                1%                    --                  -2% 
      perl -e1 (baseline)            116.3/s                    1876%                   969%             446%                 388%                        306%                   273%               190%         179%              120%               120%                86%                     74%                           51%               45%                39%                   39%                            27%                27%               27%                3%                    2%                   -- 
 
     Legends:
       Text::ANSITable: mod_overhead_time=38.4 participant=Text::ANSITable
       Text::ASCIITable: mod_overhead_time=10.4 participant=Text::ASCIITable
       Text::FormatTable: mod_overhead_time=7.4 participant=Text::FormatTable
       Text::MarkdownTable: mod_overhead_time=33.4 participant=Text::MarkdownTable
       Text::SimpleTable: mod_overhead_time=3.4 participant=Text::SimpleTable
       Text::Table: mod_overhead_time=15.4 participant=Text::Table
       Text::Table::Any: mod_overhead_time=3.9 participant=Text::Table::Any
       Text::Table::CSV: mod_overhead_time=0.300000000000001 participant=Text::Table::CSV
       Text::Table::HTML: mod_overhead_time=2.4 participant=Text::Table::HTML
       Text::Table::HTML::DataTables: mod_overhead_time=2.4 participant=Text::Table::HTML::DataTables
       Text::Table::Manifold: mod_overhead_time=83.4 participant=Text::Table::Manifold
       Text::Table::More: mod_overhead_time=16.4 participant=Text::Table::More
       Text::Table::Org: mod_overhead_time=2.4 participant=Text::Table::Org
       Text::Table::Sprintf: mod_overhead_time=0.200000000000001 participant=Text::Table::Sprintf
       Text::Table::Tiny: mod_overhead_time=10.4 participant=Text::Table::Tiny
       Text::Table::TinyBorderStyle: mod_overhead_time=4.4 participant=Text::Table::TinyBorderStyle
       Text::Table::TinyColor: mod_overhead_time=6.4 participant=Text::Table::TinyColor
       Text::Table::TinyColorWide: mod_overhead_time=26.4 participant=Text::Table::TinyColorWide
       Text::Table::TinyWide: mod_overhead_time=23.5 participant=Text::Table::TinyWide
       Text::TabularDisplay: mod_overhead_time=3.4 participant=Text::TabularDisplay
       Text::UnicodeBox::Table: mod_overhead_time=161.4 participant=Text::UnicodeBox::Table
       perl -e1 (baseline): mod_overhead_time=0 participant=perl -e1 (baseline)

    To display as an interactive HTML table on a browser, you can add option
    "--format html+datatables".

SAMPLE OUTPUTS
    This section shows what the output is like for (some of the) modules:

    *   "Text::Table::Any"

         +--------+--------+--------+
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

    *   "Text::SimpleTable"

         .-----------+-----------+-----------.
         | col1      | col2      | col3      |
         +-----------+-----------+-----------+
         | row1.1    | row1.2    | row1.3    |
         | row2.1    | row2.2    | row2.3    |
         | row3.1    | row3.2    | row3.3    |
         | row4.1    | row4.2    | row4.3    |
         | row5.1    | row5.2    | row5.3    |
         '-----------+-----------+-----------'

    *   "Text::Table::Manifold"

         +--------+--------+--------+
         |  col1  |  col2  |  col3  |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

    *   "Text::ANSITable"

         .--------+--------+--------.
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         `--------+--------+--------'

    *   "Text::ASCIITable"

         .--------------------------.
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         '--------+--------+--------'

    *   "Text::FormatTable"

         col1  |col2  |col3  
         row1.1|row1.2|row1.3
         row2.1|row2.2|row2.3
         row3.1|row3.2|row3.3
         row4.1|row4.2|row4.3
         row5.1|row5.2|row5.3

    *   "Text::MarkdownTable"

         | col1   | col2   | col3   |
         |--------|--------|--------|
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |

    *   "Text::Table"

         col1   col2   col3  
         row1.1 row1.2 row1.3
         row2.1 row2.2 row2.3
         row3.1 row3.2 row3.3
         row4.1 row4.2 row4.3
         row5.1 row5.2 row5.3

    *   "Text::Table::Tiny"

         +--------+--------+--------+
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

    *   "Text::Table::TinyBorderStyle"

         .--------+--------+--------.
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         `--------+--------+--------'

    *   "Text::Table::More"

         .--------+--------+--------.
         | col1   | col2   | col3   |
         +========+========+========+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         `--------+--------+--------'

    *   "Text::Table::Sprintf"

         +--------+--------+--------+
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

    *   "Text::Table::TinyColor"

         +--------+--------+--------+
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

    *   "Text::Table::TinyColorWide"

         +--------+--------+--------+
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

    *   "Text::Table::TinyWide"

         +--------+--------+--------+
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

    *   "Text::Table::Org"

         | col1   | col2   | col3   |
         |--------+--------+--------|
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |

    *   "Text::Table::CSV"

         "col1","col2","col3"
         "row1.1","row1.2","row1.3"
         "row2.1","row2.2","row2.3"
         "row3.1","row3.2","row3.3"
         "row4.1","row4.2","row4.3"
         "row5.1","row5.2","row5.3"

    *   "Text::Table::HTML"

         <table>
         <thead>
         <tr><th>col1</th><th>col2</th><th>col3</th></tr>
         </thead>
         <tbody>
         <tr><td>row1.1</td><td>row1.2</td><td>row1.3</td></tr>
         <tr><td>row2.1</td><td>row2.2</td><td>row2.3</td></tr>
         <tr><td>row3.1</td><td>row3.2</td><td>row3.3</td></tr>
         <tr><td>row4.1</td><td>row4.2</td><td>row4.3</td></tr>
         <tr><td>row5.1</td><td>row5.2</td><td>row5.3</td></tr>
         </tbody>
         </table>

    *   "Text::Table::HTML::DataTables"

         <html>
         <head>
         <link rel="stylesheet" type="text/css" href="file:///home/u1/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/auto/share/dist/Text-Table-HTML-DataTables/datatables-1.10.22/datatables.css">
         <script src="file:///home/u1/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/auto/share/dist/Text-Table-HTML-DataTables/jquery-2.2.4/jquery-2.2.4.min.js"></script>
         <script src="file:///home/u1/perl5/perlbrew/perls/perl-5.34.0/lib/site_perl/5.34.0/auto/share/dist/Text-Table-HTML-DataTables/datatables-1.10.22/datatables.js"></script>
         <script>var dt_opts = {"dom":"lQfrtip","buttons":["colvis","print"]}; $(document).ready(function() { $("table").DataTable(dt_opts); $("select[name=DataTables_Table_0_length]").val(1000); $("select[name=DataTables_Table_0_length]").trigger("change"); });</script>
 
         </head>
 
         <body>
         <table>
         <thead>
         <tr><th>col1</th><th>col2</th><th>col3</th></tr>
         </thead>
         <tbody>
         <tr><td>row1.1</td><td>row1.2</td><td>row1.3</td></tr>
         <tr><td>row2.1</td><td>row2.2</td><td>row2.3</td></tr>
         <tr><td>row3.1</td><td>row3.2</td><td>row3.3</td></tr>
         <tr><td>row4.1</td><td>row4.2</td><td>row4.3</td></tr>
         <tr><td>row5.1</td><td>row5.2</td><td>row5.3</td></tr>
         </tbody>
         </table>
         </body>
 
         </html>

    *   "Text::TabularDisplay"

         +--------+--------+--------+
         | col1   | col2   | col3   |
         +--------+--------+--------+
         | row1.1 | row1.2 | row1.3 |
         | row2.1 | row2.2 | row2.3 |
         | row3.1 | row3.2 | row3.3 |
         | row4.1 | row4.2 | row4.3 |
         | row5.1 | row5.2 | row5.3 |
         +--------+--------+--------+

FAQ
  What is an Acme::CPANModules::* module?
    An Acme::CPANModules::* module, like this module, contains just a list
    of module names that share a common characteristics. It is a way to
    categorize modules and document CPAN. See Acme::CPANModules for more
    details.

  What are ways to use this Acme::CPANModules module?
    Aside from reading this Acme::CPANModules module's POD documentation,
    you can install all the listed modules (entries) using cpanm-cpanmodules
    script (from App::cpanm::cpanmodules distribution):

     % cpanm-cpanmodules -n TextTable

    Alternatively you can use the cpanmodules CLI (from App::cpanmodules
    distribution):

        % cpanmodules ls-entries TextTable | cpanm -n

    or Acme::CM::Get:

        % perl -MAcme::CM::Get=TextTable -E'say $_->{module} for @{ $LIST->{entries} }' | cpanm -n

    or directly:

        % perl -MAcme::CPANModules::TextTable -E'say $_->{module} for @{ $Acme::CPANModules::TextTable::LIST->{entries} }' | cpanm -n

    This Acme::CPANModules module contains benchmark instructions. You can
    run a benchmark for some/all the modules listed in this
    Acme::CPANModules module using the bencher CLI (from Bencher
    distribution):

        % bencher --cpanmodules-module TextTable

    This Acme::CPANModules module also helps lcpan produce a more meaningful
    result for "lcpan related-mods" command when it comes to finding related
    modules for the modules listed in this Acme::CPANModules module. See
    App::lcpan::Cmd::related_mods for more details on how "related modules"
    are found.

HOMEPAGE
    Please visit the project's homepage at
    <https://metacpan.org/release/Acme-CPANModules-TextTable>.

SOURCE
    Source repository is at
    <https://github.com/perlancar/perl-Acme-CPANModules-TextTable>.

SEE ALSO
    Acme::CPANModules::HTMLTable

    Acme::CPANModules - about the Acme::CPANModules namespace

    cpanmodules - CLI tool to let you browse/view the lists

AUTHOR
    perlancar <perlancar@cpan.org>

CONTRIBUTING
    To contribute, you can send patches by email/via RT, or send pull
    requests on GitHub.

    Most of the time, you don't need to build the distribution yourself. You
    can simply modify the code, then test via:

     % prove -l

    If you want to build the distribution (e.g. to try to install it locally
    on your system), you can install Dist::Zilla,
    Dist::Zilla::PluginBundle::Author::PERLANCAR,
    Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two
    other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps
    required beyond that are considered a bug and can be reported to me.

COPYRIGHT AND LICENSE
    This software is copyright (c) 2023, 2021, 2020, 2019 by perlancar
    <perlancar@cpan.org>.

    This is free software; you can redistribute it and/or modify it under
    the same terms as the Perl 5 programming language system itself.

BUGS
    Please report any bugs or feature requests on the bugtracker website
    <https://rt.cpan.org/Public/Dist/Display.html?Name=Acme-CPANModules-Text
    Table>

    When submitting a bug or request, please include a test-file or a patch
    to an existing test-file that illustrates the bug or desired feature.