← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Thu Dec 15 15:23:56 2022
Reported on Thu Dec 15 15:27:02 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/darwin-2level/MIME/Base64.pm
StatementsExecuted 14 statements in 5.58ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11122µs24µsMIME::Base64::::BEGIN@3MIME::Base64::BEGIN@3
1114µs35µ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
3225µs226µs
# spent 24µs (22+2) within MIME::Base64::BEGIN@3 which was called: # once (22µs+2µs) by Mojo::Util::BEGIN@16.6 at line 3
use strict;
# spent 24µs making 1 call to MIME::Base64::BEGIN@3 # spent 2µs making 1 call to strict::import
42169µs266µs
# spent 35µs (4+31) within MIME::Base64::BEGIN@4 which was called: # once (4µs+31µs) by Mojo::Util::BEGIN@16.6 at line 4
use warnings;
# spent 35µs making 1 call to MIME::Base64::BEGIN@4 # spent 31µs making 1 call to warnings::import
5
611µsrequire Exporter;
715µsour @ISA = qw(Exporter);
811µsour @EXPORT = qw(encode_base64 decode_base64);
910sour @EXPORT_OK = qw(encode_base64url decode_base64url encoded_base64_length decoded_base64_length);
10
1110sour $VERSION = '3.16';
12
1310srequire XSLoader;
1415.36ms15.35msXSLoader::load('MIME::Base64', $VERSION);
# spent 5.35ms making 1 call to XSLoader::load
15
1612µs*encode = \&encode_base64;
1710s*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
3319µs1;
34
35__END__