Jeff King <peff@xxxxxxxx> writes: > Commit 05eb1c37ed (perf/aggregate: implement codespeed JSON output, > 2018-01-05) added a dependency on the perl JSON module to show output > from aggregate.perl, but we only need it when the user asks for > --codespeed output. While the module is pretty common, it's not part of > the base system, and this dependency can get in the way of producing the > default human-readable output. > > Let's bump the "use" down to a "require" in the code path that needs it, > which will be interpreted at run-time instead of compile-time. People > not using "--codespeed" won't even load the module, and anybody using it > should see the same results (including the same perl error if they don't > have it). Nice. > This bites me occasionally when running perf tests on many-core work > machines where I can't just "apt-get install libjson-perl". So I finally > decided look into it. :) Thanks. > t/perf/aggregate.perl | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/t/perf/aggregate.perl b/t/perf/aggregate.perl > index 494907a892..76dd48f890 100755 > --- a/t/perf/aggregate.perl > +++ b/t/perf/aggregate.perl > @@ -3,7 +3,6 @@ > use lib '../../perl/build/lib'; > use strict; > use warnings; > -use JSON; > use Getopt::Long; > use Git; > > @@ -342,7 +341,8 @@ sub print_codespeed_results { > } > } > > - print to_json(\@data, {utf8 => 1, pretty => 1, canonical => 1}), "\n"; > + require JSON; > + print JSON::to_json(\@data, {utf8 => 1, pretty => 1, canonical => 1}), "\n"; > } > > binmode STDOUT, ":utf8" or die "PANIC on binmode: $!";