Test Script ================== use strict; use warnings; use Storable qw(freeze thaw); #number of items to pack my $iter = 1000000; #our string to pack into my $string =''; #time how long it takes to create a string large enough to hold the data... Time(); #if the line below is commented out, things take a long time... $string = 1 x ($iter*56); Time(); #reset our string... $string=''; #now lets create the data block... for my $count (1..$iter) { $string.=pack('ddddddd',1,2,3,4,5,6,7); } Time(); #how long does it take to freeze this object? my $fr = freeze( \ $string); Time(); print "Finished\n"; sleep(2000); sub Time { my ($user,$system,$cuser,$csystem) = times; print "$user,$system\n"; } ======================= #### C:\MinGW>perl -V Set up gcc environment - gcc (TDM-1 mingw32) 4.4.1 Summary of my perl5 (revision 5 version 8 subversion 9) configuration: Platform: osname=MSWin32, osvers=5.00, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=define use5005threads=undef useithreads=define usemultiplicity=de fine useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYP T -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPRIVLIB_LAST_IN_INC -DPERL_IMPLICIT_CONTE XT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX -DHASATTRIBUTE -fno-st rict-aliasing -mms-bitfields', optimize='-O2', cppflags='-DWIN32' ccversion='', gccversion='gcc (TDM-1 mingw32) 4.4.1', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=8 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='__int64', lseeksi ze=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++', ldflags ='-L"C:\Perl\lib\CORE"' libpth=\lib libs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 - lodbccp32 -lmsvcrt perllibs=-lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshel l32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc 32 -lodbccp32 -lmsvcrt libc=msvcrt.lib, so=dll, useshrplib=true, libperl=perl58.lib gnulibc_version='' Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-mdll -L"C:\Perl\lib\CORE"' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS PERL_MALLOC_WRAP PL_OP_SLAB_ALLOC USE_FAST_STDIO USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_SITECUSTOMIZE Locally applied patches: ActivePerl Build 826 [290470] f7bbab select() generates 'Invalid parameter' messages on Windows Vista. 36f064 do/require don't treat '.♀oo' or '..♀oo' as absolute paths on Win dows 287a96 Fix -p function and Fcntl::S_IFIFO constant under Microsoft VC co mpiler Iin_load_module moved for compatibility with build 806 Less verbose ExtUtils::Install and Pod::Find Rearrange @INC so that 'site' is searched before 'perl' Partly reverted #dafda6 to preserve binary compatibility 5e162c Problem killing a pseudo-forked child on Win32 3e5d88 ANSIfy the PATH environment variable on Windows c71e9b,29e136 win32_async_check() can loop indefinitely aeecf6 Fix alarm() for Windows 2003 Built under MSWin32 Compiled at May 24 2009 09:21:05 @INC: C:/Perl/site/lib C:/Perl/lib .