#!/usr/bin/perl use strict; use warnings; use lib 'lib'; BEGIN{ if($ARGV[0]){ $ENV{PERL_DATETIME_PP} = 1; $ENV{PV_TEST_PERL} = 1; } } use DateTime; use Benchmark qw(timethis); my $mode; if($::INC{'DateTimePP.pm'} && $::INC{'Params/ValidatePP.pm'}){ $mode = 'Pure Perl'; }else{ $mode = 'XS'; } print "mode is $mode\n"; sub hoge { my $dt1 = DateTime->now(time_zone=>'local'); $dt1->add( days => 365 * 10 ); $dt1->subtract( months => 15 ); $dt1->set_time_zone('America/Chicago'); $dt1->datetime; my $dt2 = DateTime->new( time_zone=>'local', year => 2002, month => 2, day => 15 ); my $dur = $dt1->delta_ms($dt2); $dur->in_units('minutes'); } timethis(4000,\&hoge);