MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Compress timing with different data types

  • To: mathgroup at smc.vnet.net
  • Subject: [mg97701] Compress timing with different data types
  • From: Yves Klett <yves.klett at googlemail.com>
  • Date: Thu, 19 Mar 2009 02:10:30 -0500 (EST)

Hi,

I noticed that the speed of Compress is very much dependent on the type
of data that is compressed:


(*start*)data = RandomReal[{-1, 1}, {100, 10, 3}];

cdt = AbsoluteTiming[cd = Compress[data]][[1]];
udt = AbsoluteTiming[Uncompress[cd]][[1]];

lines = Line /@ data;
scale = ByteCount[lines]/ByteCount[data];
clt = AbsoluteTiming[cl = Compress[lines];][[1]]/scale;
cut = AbsoluteTiming[ul = Uncompress[cl];][[1]]/scale;

TableForm[{{"", "Coordinates", "Lines", "Factor"}, {"Compress", cdt,
   clt, clt/cdt}, {"Uncompress", udt, cut}}]
(*end*)

Result:
	Coordinates		Lines		Factor
Compress	0.0468738	2.6967411	57.5319
Uncompress	0.		0.	

So compressing an expression only containing lists and numbers is about
60 times faster than compressing an expression containing Line
statements. And the difference gets worse the larger the expression
becomes...

On the other hand, Uncompress is not much affected...

Does anyone have experience and/or a workaround with that behaviour
(6.03 & 7.01 on WinXP)?

Regards,
Yves



  • Prev by Date: Re: Compatibility issue in Mathematica 7
  • Next by Date: Re: Fitting using a custom function
  • Previous by thread: Re: demonstrations and presentations
  • Next by thread: Re: Compress timing with different data types