Now that iOS 9 is released, what things can I do in Pythonista that I could not do under iOS 8?
Forum Archive
Benchmarks: What new things does iOS 9 enable in Pythonista?
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:
import sympy
;)
@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.
">>> import platform,timeit
platform.platform()
'Darwin-15.0.0-iPad5,4-64bit'
timeit.timeit('import sympy')
8.560050964355469
"
Ok, when I do exactly like you guys, my number is higher
This is what I get
import platform,timeit
platform.platform()
'Darwin-15.0.0-iPad5,4-64bit'
timeit.timeit('import sympy')
8.560050964355469
@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.
```python
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
Darwin-15.0.0-iPhone8,1-32bit
4.09668588638
Darwin-15.0.0-iPhone8,1-32bit
1.13581109047
Darwin-15.0.0-iPhone8,1-32bit
1.13619184494
First timing is with pythonista unloaded. Then subsequent timings just running after loaded
iOS 9.0.2
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.
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/ianjoicey/PycharmProjects/untitled1/main.py
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
platform.platform()
'Darwin-15.0.0-iPad6,8-64bit'
import timeit
timeit.timeit('import sympy')
2.832141160964966
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
Platform Darwin-16.7.0-iPad7,2-64bit
timeit.timeit('import sympy')
1.65520620346
Ipad 12.5! Never heard about it.
@omz
iPhone 7 Plus - iOS 10.3.2
Pythonista 3
146063 pystones/second
@komanguy Promo on 12,9" 😇
iPad Pro 10.5" (Pythonista 3): 146,820 pystones/second
MacBook Pro 13", 2.9 Ghz i5 (Python 3.5): 70,019 pystones/second
My mythical iPad is looking pretty good so far :)
@Phuket2 I tested with Python 3. I think Python 2 is still faster in most benchmarks.