git-commit-vandalism/perl
Ævar Arnfjörð Bjarmason 17530b2ed2 perl: nano-optimize by replacing Cwd::cwd() with Cwd::getcwd()
It has been pointed out[1] that cwd() invokes "pwd(1)" while getcwd()
is a Perl-native XS function. For what we're using these for we can
use getcwd().

The performance difference is miniscule, we're saving on the order of
a millisecond or so, see [2] below for the benchmark. I don't think
this matters in practice for optimizing git-send-email or perl
execution (unlike the patches leading up to this one).

But let's do it regardless of that, if only so we don't have to think
about this as a low-hanging fruit anymore.

1. https://lore.kernel.org/git/20210512180517.GA11354@dcvr/
2.
    $ perl -MBenchmark=:all -MCwd -wE 'cmpthese(10000, { getcwd => sub { getcwd }, cwd => sub { cwd }, pwd => sub { system "pwd >/dev/null" }})'
                (warning: too few iterations for a reliable count)
                             Rate                  pwd                 cwd    getcwd
    pwd                     982/s                   --                -48%     -100%
    cwd                    1890/s                  92%                  --     -100%
    getcwd 10000000000000000000/s 1018000000000000000% 529000000000000064%        -

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2021-05-28 18:38:07 +09:00
..
FromCPAN perl: check for perl warnings while running tests 2020-10-21 23:11:48 -07:00
Git perl: use mock i18n functions under NO_GETTEXT=Y 2021-05-06 12:58:33 +09:00
header_templates Makefile: add Perl runtime prefix support 2018-04-11 18:09:56 +09:00
.gitignore Makefile: replace perl/Makefile.PL with simple make rules 2017-12-11 15:28:10 -08:00
Git.pm perl: nano-optimize by replacing Cwd::cwd() with Cwd::getcwd() 2021-05-28 18:38:07 +09:00