docs: Create a summary page, comparing the various ports of micropython #11663
Replies: 14 comments 36 replies
-
That actually would be a not so small project. MPs Github has a Wiki which might be the right place to collect data. |
Beta Was this translation helpful? Give feedback.
-
This would be very useful, but I see a few difficulties. One is to distinguish between hosts and boards. For example a host might be capable of supporting SPIRAM but boards might have varying amounts including zero. My solution would be to only list hosts, providing references to boards so potential users can do their own research. Boards crop up more frequently than hosts. Another problem is that different features are important to different people and different projects. A few examples of things that have mattered to me:
I think each user might come up with a different list. Another problem is the differing feature sets of the various MP ports discussed in #5564. |
Beta Was this translation helpful? Give feedback.
-
I read all your comments, thanks for your valuable feedback. Also #5564, thank you Peter for pointing this out to me. I would like to create this summary, otherwise it is impossible to choose the right board, the information is scattered in many documents and sometimes it is not updated. I think a possible solution can be to build two tables: Table 2) I think is a good solution to keep two separate tables:
The two tables can be published in one or two web pages. This is a draft, I appreciate further feedback. I would like to start proving the feasibility of the first step.
So I can see if the location of the files is consistent across the various firmwares. (p.s. sorry for my English, I am in a hurry, this time I don't check my writing with google translator). |
Beta Was this translation helpful? Give feedback.
-
I think we may discuss whether/which features may be collected programmatically.
|
Beta Was this translation helpful? Give feedback.
-
I found where there are the headers. It states: Pls, where can I find this file? |
Beta Was this translation helpful? Give feedback.
-
About your initial post:
|
Beta Was this translation helpful? Give feedback.
-
Detection routine for interrupts: Note: Inconsistencies pop up while testing such routines. Should I raise issues for these? I definitely agree with Peter that all those should be get rid of in the long run.
Results:
|
Beta Was this translation helpful? Give feedback.
-
No. The difference are known and sometimes documented, |
Beta Was this translation helpful? Give feedback.
-
Taking STM as an example, the IRQ latency values for hard interrupts looks correct. But the worst-case soft IRQ latency is much worse than 13μs: it occurs when the IRQ happens to coincide with the start of a GC cycle. Latency depends on how much work the garbage collector has to do, but I would expect a time in the range 1-10ms. Your test routine should do a lot of allocation of temporary objects to try to provoke this. As a general point, on platforms with SPIRAM, GC times can be 100-200ms with consequences for soft IRQ latency. |
Beta Was this translation helpful? Give feedback.
-
Hi About the interrupt timing tests, spelunking thru the firmware headers files I see at least these ports using FreeRTOS: esp32, cc3200. Having an RTOS ins't beneficial to latency and bit-banging stuff.
I appreciate your discussion on low level hardware, but IMHO it is off-topic here. |
Beta Was this translation helpful? Give feedback.
-
Viper in the ISR did not change anything. Disabling the gc did not change the hard interrupt response times. |
Beta Was this translation helpful? Give feedback.
-
pystones as a relative speed measure of CPUs might be an interesting addition. See also https://micropython.org/resources/code-dashboard/ |
Beta Was this translation helpful? Give feedback.
-
This is incorrect. It has 32 bit hardware FP. |
Beta Was this translation helpful? Give feedback.
-
I think I have some - not all - of that information already gathered for a lot of ports / boards and versions as part of the micropython-stubs project. Just one random sample out of the many There are a few options that I explored for publication - but set aside due due to too-little-time Flat Data |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi
I find it difficult to choose the right micro, there are many features enabled or disabled in specific micropython ports and the current docs are sometimes vague or inconsistent with the actual implementation.
My proposal is to have a table listing the characteristics for each micro.
The first columns...
The same table can grow with other columns, like:
Beta Was this translation helpful? Give feedback.
All reactions