Skip to content
Metallicow edited this page Jun 1, 2014 · 7 revisions

Here's a sample little tight counter loop, running for 10 seconds on 3 different setups:

MicroPython on Teensy 3.1: (96Mhz ARM) Damien gave me a hint, and told me to put the performance test inside a function, rather than global. It almost doubles the execution speed, which used to run 396,505 times. With another hint, its up over a million now:

def performanceTest():
    millis = pyb.millis
    endTime = millis() + 10000
    count = 0
    while millis() < endTime:
        count += 1
    print("Count: ", count)
performanceTest()

Count: 1,098,681

On pyboard it's 2,890,723

2nd pyboard test... WinXP SP3 4GB, PuTTY, and Samsung ECC1DU6BBE Micro-USB data cable with the shipped kickstarter board in pyb.usb_mode('CDC+MSC') # act as a serial and a storage device with performanceTest.py housed on internal memory(0:):

Micro Python v1.0.1 on 2014-05-12; PYBv1.0 with STM32F405RG
Type "help()" for more information.
>>> import performanceTest
>>> performanceTest.performanceTest()
Count:  2122667

C++ on Teensy 3.1: (96Mhz ARM)

#include <Arduino.h>  
void setup() {  
    Serial1.begin(115200);  
    uint32_t endTime = millis() + 10000;  
    uint32_t count = 0;  
    while (millis() < endTime)  
        count++;  
    Serial1.print("Count: ");  
    Serial1.println(count);  
}  
void loop() {  
}  

Count: 95,835,923


C++ on Arduino Pro Mini: (16 MHz Atmega328)

#include <Arduino.h>  
void setup() {  
    Serial.begin(115200);  
    uint32_t endTime = millis() + 10000;  
    uint32_t count = 0;  
    while (millis() < endTime)  
        count++;  
    Serial.print("Count: ");  
    Serial.println(count);  
}  
void loop() {  
}  

Count: 4,970,227


Some more looping examples and numbers: https://www.kickstarter.com/projects/214379695/micro-python-python-for-microcontrollers/posts/664832

Clone this wiki locally
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy