← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 15:33:55 2022
Reported on Wed Dec 14 15:40:03 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/darwin-2level/MIME/Base64.pm
StatementsExecuted 14 statements in 1.46ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11133µs37µsMIME::Base64::::BEGIN@3MIME::Base64::BEGIN@3
1116µs46µsMIME::Base64::::BEGIN@4MIME::Base64::BEGIN@4
0000s0sMIME::Base64::::decode_base64urlMIME::Base64::decode_base64url
0000s0sMIME::Base64::::encode_base64urlMIME::Base64::encode_base64url
Call graph for these subroutines as a Graphviz dot language file.
Line State
ments
Time
on line
Calls Time
in subs
Code
1package MIME::Base64;
2
3241µs241µs
# spent 37µs (33+4) within MIME::Base64::BEGIN@3 which was called: # once (33µs+4µs) by Mojo::Util::BEGIN@16.6 at line 3
use strict;
# spent 37µs making 1 call to MIME::Base64::BEGIN@3 # spent 4µs making 1 call to strict::import
42248µs286µs
# spent 46µs (6+40) within MIME::Base64::BEGIN@4 which was called: # once (6µs+40µs) by Mojo::Util::BEGIN@16.6 at line 4
use warnings;
# spent 46µs making 1 call to MIME::Base64::BEGIN@4 # spent 40µs making 1 call to warnings::import
5
611µsrequire Exporter;
719µsour @ISA = qw(Exporter);
810sour @EXPORT = qw(encode_base64 decode_base64);
910sour @EXPORT_OK = qw(encode_base64url decode_base64url encoded_base64_length decoded_base64_length);
10
1111µsour $VERSION = '3.16';
12
1311µsrequire XSLoader;
1411.15ms11.14msXSLoader::load('MIME::Base64', $VERSION);
# spent 1.14ms making 1 call to XSLoader::load
15
1611µs*encode = \&encode_base64;
1711µs*decode = \&decode_base64;
18
19sub encode_base64url {
20 my $e = encode_base64(shift, "");
21 $e =~ s/=+\z//;
22 $e =~ tr[+/][-_];
23 return $e;
24}
25
26sub decode_base64url {
27 my $s = shift;
28 $s =~ tr[-_][+/];
29 $s .= '=' while length($s) % 4;
30 return decode_base64($s);
31}
32
3318µs1;
34
35__END__