Skip to content
Paul Sokolovsky edited this page May 15, 2015 · 6 revisions

#FAQ

What are the differences between MicroPython and standard python (CPython)?

Please see the Differences wiki page

How big is MicroPython? How much memory does it take?

[please answer]

How fast is MicroPython?

We try to make MicroPython have about same, or better, average performance as CPython, while offering considerably smaller memory footprint (both code ("ROM") and heap ("RAM") sizes). Optimizing for size is known to be opposite of optimizing for speed, so in some cases MicroPython may be slower (an example is diversified access to large dictionaries). However, on some operations (like integer arithmetics), MicroPython can be around 10 times faster than CPython (note that CPython itself is being optimized, so newer versions may be faster than older).

Additionally, on select architectures (which include the most popular ones like x86, x86_64, ARMv7), MicroPython offers an ahead-of-time compiler for large subset of Python language, which may increase performance 2 times on average. Beyond that, MicroPython offers "viper" native compiler for a smaller subset of Python language, which offers near-C speed for arithmetic/memory operations. As a final touch, MicroPython offers inline assembler support (currently only for ARMv7 (Thumb2)), for really performance-critical code.

Summing up, MicroPython offers wide selection of performance options and optimizations, allowing you to get the performance you need - all available even on a microcontroller!

How many platforms are supported by MicroPython

All standard OS's are supported (Mac, Windows, Linux), as well as these embedded platforms

Clone this wiki locally