Increase in efficiency with Module
- To: mathgroup at smc.vnet.net
- Subject: [mg40050] Increase in efficiency with Module
- From: "Aaron E. Hirsh" <aehirsh at stanford.edu>
- Date: Mon, 17 Mar 2003 03:35:18 -0500 (EST)
- Sender: owner-wri-mathgroup at wolfram.com
I would be grateful if someone could explain the difference in efficiency between the following two simple programs. ry is a list of length n. For n = 1000, the program using Module takes 1 second on my laptop, whereas the program without Module takes 75 seconds. ftauc = Compile[{{ry, _Real, 1}, {n, _Real, 0}}, Module[{i, j, a}, i = 1; a = 0; Do[ j = i + 1; Do[ If[ry[[i]] < ry[[j]], a++, If[ry[[i]] > ry[[j]], a--]]; j++, {n - i}]; i++, {n - 1}]; a ]] ftauc2 = Compile[{{ry, _Real, 1}, {n, _Real, 0}}, i = 1; a = 0; Do[ j = i + 1; Do[ If[ry[[i]] < ry[[j]], a++, If[ry[[i]] > ry[[j]], a--]]; j++, {n - i}]; i++, {n - 1}]; a ] thank you, -- Aaron E. Hirsh Center for Computational Genetics and Biological Modeling Department of Biological Sciences Stanford University tel. (650) 723-4952 fax. (650) 725-0180
- Follow-Ups:
- Re: Increase in efficiency with Module
- From: Dr Bob <drbob@bigfoot.com>
- Re: Increase in efficiency with Module