machine_capability.py
#!/usr/bin/env python # -*- coding: GBK -*- import utime def capability(n): r=1 t1=utime.ticks_us() while n>1: r=r*n n=n-1 t2=utime.ticks_us() print('@spend time:', utime.ticks_diff(t2,t1), 'us') #return r if __name__ == '__main__': capability(1000)
運行環境:STM32H743VIT6,主頻:400MHZ,RAM:1M,FLASH:2M
運行結果:
>>> capability(100) @spend time: 356 us >>> capability(1000) @spend time: 19782 us >>> capability(50000) @spend time: 59523436 us >>> capability(60000) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 7, in capability MemoryError: memory allocation failed, allocating 68546 bytes
運行環境:ESP32,FLASH:4M
運行結果:
>>> MicroPython ESP32_LoBo_v3.2.16 - 2018-05-15 on M5Stack with ESP32 Type "help()" for more information. >>> capability(100) @spend time: 3116 us >>> capability(1000) @spend time: 135566 us >>> capability(10000) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 7, in capability MemoryError: memory allocation failed, allocating 12354 bytes
運行環境:MAIXpy-bit, 主頻:400MHZ(可超頻至600MHZ)FLASH:128Mbit , SRAM:內置8M byte
運行結果:
MicroPython v0.5.0-22-g7ac6b09bf-dirty on 2020-03-09; Sipeed_M1 with kendryte-k210 Type "help()" for more information. >>> from machine_capability import* >>> capability(100) @spend time: 463 us >>> capability(1000) @spend time: 23896 us >>> capability(50000) @spend time: 98910354 us >>> capability(60000) Traceback (most recent call last): File "<stdin>", line 1, in <module> File "machine_capability.py", line 7, in capability MemoryError: memory allocation failed, allocating 91652 bytes
根據上面性能測試排名:
- STM32H743VIT6
- MaixPy-bit
- ESP32
