#!/usr/bin/env perl
use strict;
use warnings;
use lib '../lib';
use Log::Log4perl qw( :easy );
use Autocache qw( autocache );
Log::Log4perl->easy_init( $DEBUG );
Autocache->initialise( filename => './variable_cost.conf', logger => get_logger() );
autocache 'square';
foreach my $n ( 1..10 )
{
get_logger()->debug( "n: $n" );
foreach my $i ( 1..10 )
{
get_logger()->debug( "i: $i" );
my $val = square( $n * 100 );
}
}
exit;
#
# square function that takes time proportional to the value being squared
#
sub square
{
my ($millis) = @_;
my $sec = $millis / 1000;
get_logger()->info( "sleep $sec" );
select undef, undef, undef, $sec;
return $millis * $millis;
}