MathGroup Archive 2012

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

Search the Archive

Re: Replace, ReplaceAll and If time performace comparition

  • To: mathgroup at smc.vnet.net
  • Subject: [mg127029] Re: Replace, ReplaceAll and If time performace comparition
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Mon, 25 Jun 2012 04:02:23 -0400 (EDT)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201206240826.EAA08423@smc.vnet.net>

With a pattern you get a slight improvement with

(randomList /. (_?Negative -> 0))

However, Clip is much faster

Clip[randomList, {0, Infinity}]


Bob Hanlon


On Sun, Jun 24, 2012 at 4:26 AM, Murta <rodrigomurtax at gmail.com> wrote:
> HI all
> I was working in some simulations with random numbers and get this example of performance comparition.
>
> randomList = RandomInteger[{-100, 100}, 10 10^6];
>
> (randomList /. (x_ /; x < 0 -> 0)); // AbsoluteTiming
> {5.747133, Null}
>
> Replace[randomList, (x_ /; x < 0 -> 0), 1]; // AbsoluteTiming
> {4.758984, Null}
>
> (If[# < 0, 0, #] & /@ randomList); // AbsoluteTiming
> {0.572200, Null}
>
> I personally prefer work with patterns because they are more compact and functional.
> Someone knows why patter is one magnitude order slow?? There is some trick to make it faster?
>
> tks
> Murta
>



-- 
Bob Hanlon



  • Prev by Date: Re: Default path for opening files
  • Next by Date: Re: Replace, ReplaceAll and If time performace comparition
  • Previous by thread: Replace, ReplaceAll and If time performace comparition
  • Next by thread: Re: Replace, ReplaceAll and If time performace comparition