Drexel dragonThe Math ForumDonate to the Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.math.mathematica

Topic: M9 performance regression for Fold?
Replies: 0  

Advanced Search

Back to Topic List Back to Topic List  
Yi Wang

Posts: 33
Registered: 3/30/12
M9 performance regression for Fold?
Posted: Jan 28, 2014 6:08 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply


I noticed an over 10x performance drop on Mathematica v9.0.1 compared with v7.01 for this code:

SetSystemOptions["CatchMachineUnderflow" -> False];
Fold[{(#[[1]] Sin[10.5])/(#2 + 1), #[[2]] + Tan[#[[1]]]} &, {Sin[
10.5], 1.0}, N@Range[10^6]]

I got {0.184287, {0., 0.105747}} on v7, but got {2.311755, {0., 0.105747}} on v9. Note that the Do[...] version of above code needs about 2 seconds. Thus I suspect that on v9 the Fold code is not properly auto-compiled.

Is this a regression? (Also is there a way to see if auto-compile worked or not?)


PS: To compare, I also tried the following code, where the performance on v7 and v9 are roughly the same (v9 is on average 5% more slowly though).

AbsoluteTiming@Fold[# + Sin[#2] &, 1.0, Range[10^6]]

A difference is that here the first argument of function in Fold is a number, and in the problematic example, the first argument is a list.

PS: I noticed this issuee during a discussion at http://mathematica.stackexchange.com/questions/41103/about-auto-compiling-and-performance-between-do-and-fold

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2015. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.