On Mon, Nov 06, 2017 at 12:18:17PM +0200, Paul Sokolovsky wrote: > MicroPython hashmap implementation is effectively O(n) (average and > worst case) due to the algorithm parameters chosen (like the load factor > of 1). Of course, parameters could be tweaked, but the ones chosen are > so because the memory usage is far more important for MicroPython > systems than performance characteristics (all due to small amounts of > memory). Like, MicroPython was twice as fast than Python 3.3 on > average, and 1000 times more efficient in the memory usage.
$ cat xxx.py def pi_float(): """native float""" lasts, t, s, n, na, d, da = 0, 3.0, 3, 1, 0, 0, 24 while s != lasts: lasts = s n, na = n+na, na+8 d, da = d+da, da+32 t = (t * n) / d s += t return s for i in range(100000): x = pi_float() $ time ./micropython xxx.py real 0m4.424s user 0m4.406s sys 0m0.016s $ $ time ../../cpython/python xxx.py real 0m1.066s user 0m1.056s sys 0m0.010s Congratulations ... Stefan Krah _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com