Re: V8 slow like a snail
- To: mathgroup at smc.vnet.net
- Subject: [mg127763] Re: V8 slow like a snail
- From: Andrzej Kozlowski <akozlowski at gmail.com>
- Date: Mon, 20 Aug 2012 21:28:03 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
- References: <k0fjaj$q71$1@smc.vnet.net> <20120820081346.EFF8367FE@smc.vnet.net>
On 20 Aug 2012, at 10:13, David Bailey <dave at removedbailey.co.uk> wrote: > On 15/08/2012 08:32, Dr. Wolfgang Hintze wrote: >> Great disappointment on my side with 8.0.4.0 Home edition which I >> installed yesterday! >> My first impression: looks good, many nice features ... but = incredibly >> slow in comparision to my good old 5.2. >> I then carried out a modest benchmark test the results of which I'll >> show below and which I like to express in terms of a "snail >> factor" ( = time in v5.2/ time in v8). >> >> Consider this integral for which we can safely expect Mathematica to >> be expert in solving: >> >> f1[n_, m_] := >> Integrate[n t^m Exp[-n t] (Exp[t] - 1)^(n - 1), {t, 0, \[Infinity]}, >> Assumptions -> {{n, m} \[Element] Integers, m>= 0, n> 0}] >> >> I carried out Timing[f1[n, m]] for m=0,1,2,3,10 in both versions. = Here >> are the results in the format >> >> {m, V5.2 f1 first call, V5.2 second call, V8 first call, V8 second >> call, snail factor first call, snail factor second call} >> >> { >> { 0, 0.328, 0.078, 2.122, 2.044, 6.46951, 26.2051}, >> { 1, 0.109, 0.063, 30.202, 30.483, 277.083, 483.857}, >> { 2, 0.421, 0.11, 30.42, 30.17, 72.2565, 274.273}, >> { 3, 0.452, 0.156, 31.528, 31.325, 69.7522, 200.801}, >> {10, 5.366, 5.382, 42.448, 42.682, 7.91055, 7.93051} >> } >> >> Even if we compare only the first calls the range of the snail factor >> goes up to 277 at m = 1, is 72 for m = 2, and is still close to 8 = for >> larger m. >> >> This is my story in other words: I own a very old car, and have >> considered for a long time to change to a newer one - although it >> still can go at 200 km/h on the Autobahn. >> So now I am proud owner of the new brilliant car, and I must learn = the >> on important tours (m=1) =EDts maximum speed turns out to be less = than 1 >> km/h, about 3 km/h (m=2) or at most about 30 km/h. Who laughes? Me >> not! Obviously I'll definitely keep the old car! >> >> Ok, maybe I have chosen the wrong example (though in other test runs = a >> similar pictures emerged and this example is just the type I'm using >> Mathematica for). Are there perhaps acknowleged benchmarks for such a >> comparison of versions? >> >> Finally, dear group, as you might have noticed, I'm asking for >> consolation. Please comment and give me useful hints. Many thanks in >> advance. >> >> Best regards, >> Wolfgang >> > > It is important to realise two things: > > 1) The home edition is the same code as the normal version. > > 2) The speed of Mathematica depends on what calculation you are > interested in - many things have speed-ed up since 5.2. A lot of extra= > analysis was added to symbolic integrals (at v6.0) to ensure that the= > result was always valid. This slowed down symbolic integration > (particularly definite integrals), but is presumably worth it. There = is > an option to Integrate that will stop at least some of this extra CPU= > time: GenerateConditions->False > > David Bailey > http://www.dbaileyconsultancy.co.uk > > > > There is a third thing one should add to this. Improvements to functions like Integrate that usually consist of making sure that it only uses methods that always lead to valid answers sometimes (used to be quite often in the past) as a side effect result in Integrate not being able to obtain answers to problems that it used to give valid answers to before the new checks were introduced. There are a number of ways this could happen. The worst case is when it turns out that Mathematica got the old (correct) answer by applying a transformation that is invalid in general and just happened to work in this particular case. Probably more often the transformation that was applied was valid only for a narrower class of cases and in the newer version this class was restricted too far (thus excelling the case in question). In any case, it should be obvious to anyone that no one is trying to make Mathematica deliberately slower and that examples like this are almost certainly unfortunate "side effects" of genuine improvements. It does not mean, of course, that such problems should not be fixed - they definitely should, but to claim that functions like Integrate have overall become less usable in higher version displays both ignorance of how such things work and lack of experience with the newer version (there are a vast number of integrals that version 8 can do that version 5 can't or where version 5 gives wrong answers). Andrzej Kozlowski
- References:
- Re: V8 slow like a snail
- From: David Bailey <dave@removedbailey.co.uk>
- Re: V8 slow like a snail