The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

HTTP::Headers::Fast - faster implementation of HTTP::Headers

SYNOPSIS

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

DESCRIPTION

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%   --

AUTHOR

Tokuhiro Matsuno E<lt>tokuhirom@gmail.comE<gt>
Daisuke Maki

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

THANKS TO

Markstos

Tatsuhiko Miyagawa

SEE ALSO

HTTP::Headers

LICENSE

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