Re: Re: Need a nice way to do this
- To: mathgroup at smc.vnet.net
- Subject: [mg40496] Re: [mg40470] Re: Need a nice way to do this
- From: Dr Bob <majort at cox-internet.com>
- Date: Tue, 8 Apr 2003 03:03:16 -0400 (EDT)
- References: <200304070853.EAA07971@smc.vnet.net>
- Reply-to: majort at cox-internet.com
- Sender: owner-wri-mathgroup at wolfram.com
We have a new winner! (For two-value lists.)
n = 100000;
test = Array[Random[Integer] &, n];
Timing[drbob[test];]
Timing[drbob2[test];]
Timing[drbob3[test];]
Timing[drbob4[test];]
Timing[andrzej2[test];]
Timing[kuska2[test];]
Timing[deLouis2[test];]
{0.781 Second,Null}
{1.328 Second,Null}
{1.328 Second,Null}
{0.735 Second,Null}
{0.5 Second,Null}
{1.344 Second,Null}
{0.328 Second,Null}
Bobby
On Mon, 7 Apr 2003 04:53:53 -0400 (EDT), Dana DeLouis
<delouis at bellsouth.net> wrote:
> Hello. I'm too new at this to contribute much.
> I modified Andrzej's second code slightly for two variables. I seem to
> get
> a 30% speed increase with the following idea.
> f3[s_List] := Module[
> {v, t}, v = Length /@ Split[s]; t = Transpose[Partition[v, 2, 2, {1, 1},
> 0]]; t = (FoldList[Plus, 0, #1] & ) /@ t; t =
> Take[Rest[Flatten[Transpose[t]]], Length[v]]; Flatten[MapThread[Table[#1,
> {#2}] & , {t, v}]]
> ]
>
--
majort at cox-internet.com
Bobby R. Treat
- References:
- Re: Need a nice way to do this
- From: "Dana DeLouis" <delouis@bellsouth.net>
- Re: Need a nice way to do this