← Index
NYTProf Performance Profile   « line view »
For ../prof.pl
  Run on Wed Dec 14 16:10:05 2022
Reported on Wed Dec 14 16:12:57 2022

Filename/Users/ether/perl5/perlbrew/perls/36.0/lib/5.36.0/darwin-2level/MIME/Base64.pm
StatementsExecuted 14 statements in 1.04ms
Subroutines
Calls P F Exclusive
Time
Inclusive
Time
Subroutine
11115µs19µsMIME::Base64::::BEGIN@3MIME::Base64::BEGIN@3
1115µs34µ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
3222µs223µs
# spent 19µs (15+4) within MIME::Base64::BEGIN@3 which was called: # once (15µs+4µs) by Mojo::Util::BEGIN@16.6 at line 3
use strict;
# spent 19µs making 1 call to MIME::Base64::BEGIN@3 # spent 4µs making 1 call to strict::import
42188µs263µs
# spent 34µs (5+29) within MIME::Base64::BEGIN@4 which was called: # once (5µs+29µs) by Mojo::Util::BEGIN@16.6 at line 4
use warnings;
# spent 34µs making 1 call to MIME::Base64::BEGIN@4 # spent 29µs making 1 call to warnings::import
5
610srequire Exporter;
716µsour @ISA = qw(Exporter);
811µsour @EXPORT = qw(encode_base64 decode_base64);
911µsour @EXPORT_OK = qw(encode_base64url decode_base64url encoded_base64_length decoded_base64_length);
10
1110sour $VERSION = '3.16';
12
1310srequire XSLoader;
141812µs1805µsXSLoader::load('MIME::Base64', $VERSION);
# spent 805µs making 1 call to XSLoader::load
15
1611µ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
3317µs1;
34
35__END__