… | |
… | |
38 | with the added ability of supporting serialisation of Perl objects. (JSON |
38 | with the added ability of supporting serialisation of Perl objects. (JSON |
39 | often compresses better than CBOR though, so if you plan to compress the |
39 | often compresses better than CBOR though, so if you plan to compress the |
40 | data later and speed is less important you might want to compare both |
40 | data later and speed is less important you might want to compare both |
41 | formats first). |
41 | formats first). |
42 | |
42 | |
|
|
43 | The primary goal of this module is to be I<correct> and the secondary goal |
|
|
44 | is to be I<fast>. To reach the latter goal it was written in C. |
|
|
45 | |
43 | To give you a general idea about speed, with texts in the megabyte range, |
46 | To give you a general idea about speed, with texts in the megabyte range, |
44 | C<CBOR::XS> usually encodes roughly twice as fast as L<Storable> or |
47 | C<CBOR::XS> usually encodes roughly twice as fast as L<Storable> or |
45 | L<JSON::XS> and decodes about 15%-30% faster than those. The shorter the |
48 | L<JSON::XS> and decodes about 15%-30% faster than those. The shorter the |
46 | data, the worse L<Storable> performs in comparison. |
49 | data, the worse L<Storable> performs in comparison. |
47 | |
50 | |
… | |
… | |
52 | In addition to the core CBOR data format, this module implements a |
55 | In addition to the core CBOR data format, this module implements a |
53 | number of extensions, to support cyclic and shared data structures |
56 | number of extensions, to support cyclic and shared data structures |
54 | (see C<allow_sharing> and C<allow_cycles>), string deduplication (see |
57 | (see C<allow_sharing> and C<allow_cycles>), string deduplication (see |
55 | C<pack_strings>) and scalar references (always enabled). |
58 | C<pack_strings>) and scalar references (always enabled). |
56 | |
59 | |
57 | The primary goal of this module is to be I<correct> and the secondary goal |
|
|
58 | is to be I<fast>. To reach the latter goal it was written in C. |
|
|
59 | |
|
|
60 | See MAPPING, below, on how CBOR::XS maps perl values to CBOR values and |
60 | See MAPPING, below, on how CBOR::XS maps perl values to CBOR values and |
61 | vice versa. |
61 | vice versa. |
62 | |
62 | |
63 | =cut |
63 | =cut |
64 | |
64 | |
65 | package CBOR::XS; |
65 | package CBOR::XS; |
66 | |
66 | |
67 | use common::sense; |
67 | use common::sense; |
68 | |
68 | |
69 | our $VERSION = 1.6; |
69 | our $VERSION = 1.71; |
70 | our @ISA = qw(Exporter); |
70 | our @ISA = qw(Exporter); |
71 | |
71 | |
72 | our @EXPORT = qw(encode_cbor decode_cbor); |
72 | our @EXPORT = qw(encode_cbor decode_cbor); |
73 | |
73 | |
74 | use Exporter; |
74 | use Exporter; |