HTTP::Headers::Fast(3pm)

HTTP::Headers::Fast3pm

Faster implementation of http::headers

Usage

  use HTTP::Headers::Fast;
  # and, same as HTTP::Headers.

Overview

HTTP::Headers::Fast is a perl class for parsing/writing HTTP headers.

The interface is same as HTTP::Headers.

Why yet another one?

HTTP::Headers is a very good. But I needed a faster implementation, fast =)

Additional methods

as_string_without_sort

as_string method sorts the header names.But, sorting is bit slow.

In this method, stringify the instance of HTTP::Headers::Fast without sorting.

psgi_flatten

returns PSGI compatible arrayref of header.

    my $headers:ArrayRef = $header->flatten
psgi_flatten_without_sort

same as flatten but returns arrayref without sorting.

@isa hack

If you want HTTP::Headers::Fast to pretend like it's really HTTP::Headers, you can try the following hack:

    unshift @HTTP::Headers::Fast::ISA, 'HTTP::Headers';

Benchmark

    HTTP::Headers 5.818, HTTP::Headers::Fast 0.01
    -- push_header
            Rate orig fast
    orig 144928/s   -- -20%
    fast 181818/s  25%   --
    -- push_header_many
            Rate orig fast
    orig 74627/s   -- -16%
    fast 89286/s  20%   --
    -- get_date
            Rate orig fast
    orig 34884/s   -- -14%
    fast 40541/s  16%   --
    -- set_date
            Rate orig fast
    orig 21505/s   -- -19%
    fast 26525/s  23%   --
    -- scan
            Rate orig fast
    orig 57471/s   --  -1%
    fast 57803/s   1%   --
    -- get_header
            Rate orig fast
    orig 120337/s   -- -24%
    fast 157729/s  31%   --
    -- set_header
            Rate orig fast
    orig  79745/s   -- -30%
    fast 113766/s  43%   --
    -- get_content_length
            Rate orig fast
    orig 182482/s   -- -77%
    fast 793651/s 335%   --
    -- as_string
            Rate orig fast
    orig 23753/s   -- -41%
    fast 40161/s  69%   --

Thanks to

Markstos

Tatsuhiko Miyagawa

Releases

5 releases since Debian 9 (Stretch); the text changed 3 times.

  1. 9
  2. 10
  3. 11
  4. 12–13

Author

    Tokuhiro Matsuno E<lt>[email protected]<gt>
    Daisuke Maki

And HTTP::Headers' originally written by Gisle Aas.

License

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

From libhttp-headers-fast-perl 0.22-3 in Debian 13 (Trixie). Parsed by carta from the page's man source.