Benchmarks: What new things does iOS 9 enable in Pythonista?
Now that iOS 9 is released, what things can I do in Pythonista that I could not do under iOS 8?
Move the cursor by putting two fingers on the keyboard.
Wow, that cursor trick it great. Just had iOS 9 loaded for about 30 mins. I find it quite fast and punchy.
@omz, I am not sure if it's my imagination or not, but I am finding Pythonista a lot faster with ios9. I have never found it slow, but lags that you expect when printing to console etc seem to have been reduced significantly.
What could be interesting if you published a benchmark.py sometime that put Pythonista through its paces , that users could copy and paste the results along with their hardware specs program version etc.
well, thinking about it, there may already a std one we could use, I am not sure. But as long as we are all using the same one could be interesting and useful data.
Just a thought
@Phuket2 The Pythonista benchmark goes like this:
@dgelessus , lol. 6.8 secs on my iPad Air 2 , on first run ;)
@Phuket2 iPad 3 with iOS 9
>>> import timeit >>> timeit.timeit('import sympy') 30.62135100364685
Not bad for an almost 4 year-old device.
>>> import platform, timeit >>> platform.platform() 'Darwin-15.0.0-iPad3,4-32bit' >>> timeit.timeit('import sympy') 19.643120050430298
Darwin 15.0.0 is iOS9.
This post is deleted!last edited by Phuket2
This is what I get
@blmacbeth , agreed. Still ok, but I would say the increase in speed also worth the upgrade. I know, this is only one thing. Not sure how these Numbers translate generally. That's why I mentioned about a benchmark test for Pythonista specifically
For reference against the other iPad 3s, here's one that's still on ios 8.3.
import platform >>> platform.platform() 'Darwin-14.0.0-iPad3,1-32bit' >>> import timeit >>> timeit.timeit('import sympy') >>> 21.3953218460083
I suspect this has an awful lot to do with what other apps are open, whether or not you have internet turned on and thus whether background processes are going on, etc.
@JonB , true. I normally have a lot of apps running in the background. I closed them all down. I didn't restart the iPad though. Then with timeit i was getting consistent 6.33xxx. Also turned off mobile data and wifi. That made no difference still around 6.3xxx. Each time I shut down Pythonista before running timeit.
@smath , with the exact same code as yours on iPhone 6s, I get the following
First timing is with pythonista unloaded. Then subsequent timings just running after loaded
Pystone might also be interesting for benchmarking. It's included in the beta, so you can simply run
from test import pystone pystone.main()
(if you're not in the beta, you can simply copy/paste the pystone module I linked above, it's a single file.)
I recently got my new iPhone 6s, and the performance improvements are quite remarkable. I now get pretty much exactly the same result as on my (2012) MacBook Pro, i.e. around 115,000 pystones/second. On the iPad Air 2, it's around 60,000.
With pystone same as @omz
iPad Air 2, 128gb, iOS 9.02 (62,000)
IPhone 6s 128gb, iOS 9.02 115,00
I will be interested to try in on my Mac Pro
Old screenshot, the OS has been updated of course
Wow, only got this on my MacPro.
Pystone(1.1) time for 50000 passes = 0.525893
This machine benchmarks at 95076.4 pystones/second
Process finished with exit code 0
I am pretty sure it was run without debugging. Seems very slow compared to the other numbers.
Well I'm using Pythonista on my iPad running an HTTP Server script to serve HTML (also edited in Pythonista) as (localhost) to Safari running in iOS 9 Slide Over mode.
This is functioning as (a basic but) nice sidebar for augmenting text. For example wrapping text in quotes, composing Markdown links from text+URL.
It's basic now; It might not be so basic later on.
Not sure if this counts as the 1 iOS 9 element is I'm targeting Slide Over (which IS new in 9). And I'm doing it from Pythonista.
Pystone for iPad Pro, 128gb , wifi/cell iOS 9.1
Pystone(1.1) time for 50000 passes = 0.35624
This machine benchmarks at 140355 pystones/second
thats a nice increase
New iPad Pro 12.5' , time for new benchmark :) I had to run with 2.7, the map object in Pystone apparently does support subscripts in 3.x something. I didn't know how to fix, so I just ran with python 2.7
It seems like @omz had a test built in before, but that looks like it's gone.
My test below is a single run with Pythonista started fresh
Pystone(1.1) time for 50000 passes = 0.246699
This machine benchmarks at 202676 pystones/second
Ipad 12.5! Never heard about it.