Closed tomcombriat closed 3 months ago
Memory usage change @ 285795e74be8c7ddf6ee03be6237e69d19a7a5f7
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ 59b1778ce1fd176a899efc9c3d3697a97abf506d
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
I am a bit sad that there is so much code duplication between
Line<UFix>
andLine<SFix>
but up to now, I did not figure a way to avoid that.
I suppose you tried some stuff (while I did not). But first question: Is a full specialization needed at all, won't the default implementation cover most of this?
(Side note: Those volatile
specifiers should be long since obsolete, and should be removed).
Runtime polymorphism would surely impose a performance hit, indeed (going quite counter to the whole idea of UFix/SFix). Toying with the idea, however, maybe there could be a common template:
template<int8_t NI, int8_t NF, bool SIGNED, uint64_t RANGE> class GFix {
// full implementation for UFix and SFix inside, possibly, however in the form a common declaration, and then
// separate (partial) specializations for the member functions
};
And after than, UFix and SFix would simply be given as template aliases:
template<int8_t NI, int8_t NF, uint64_t RANGE>
using SFix = GFix<NI, NF, true, RANGE>;
template<int8_t NI, int8_t NF, uint64_t RANGE>
using UFix = GFix<NI, NF, false, RANGE>;
I admit, that looks a bit daunting...
Thanks for your comment!
I suppose you tried some stuff (while I did not). But first question: Is a full specialization needed at all, won't the default implementation cover most of this?
Indeed, only some functions might need to be specialized (I copied the way the specialization is done), but they are the interesting/complex ones (but implementation is the same for U/SFix).
To be fair, this only concerns Line
and Smooth
, which are already done, maybe I am overthinking it… (And I am not sure I am ready for template<int8_t NI, int8_t NF, bool SIGNED, uint64_t RANGE> class GFix
at this time ;) ).
(Side note: Those volatile specifiers should be long since obsolete, and should be removed).
Will do. I was actually wondering about them.
Memory usage change @ ebca5ab0ddbf7148482afd2ff1cf8c88d7ef724b
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ 9e1c4adb99b8adce469fd8482009e0429c5b8a95
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:green_heart: -24 - 0 | -0.04 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:green_heart: -16 - 0 | -0.01 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:green_heart: -688 - 0 | -0.26 - 0.0 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:green_heart: -16 - 0 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
:green_heart: -52 - 0 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Small note while I am here: I am now in the process to convert the examples to FixMath
. It is not always as easy as it seems as some of the original examples build heavily on shifts to fit things correctly into old fixmath types. All this logic needs to be taken apart.
Note that I sometimes keep the original ones as well, for now for historical reasons, we can decide later if we want to replace everything or keep some of them. (I have a slight sentimental attachment to the FM_synth example…).
Note also that, in the Difference_Tone
example, Q16n16 freq1 = Q8n0_to_Q16n16(440);
leads to a frequency of 184 Hz actually as 440 cannot be hold in 8bits. That explains this nice bass tone on this example.
Memory usage change @ 7e1cf70aa9676300de492555b3c5d3e2f918b917
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:green_heart: -24 - 0 | -0.04 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:green_heart: -16 - 0 | -0.01 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:green_heart: -688 - 0 | -0.26 - 0.0 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:green_heart: -16 - 0 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
:green_heart: -52 - 0 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ 5f2f36ea78dd20399f062e7b540c7c00445c712a
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:green_heart: -24 - 0 | -0.04 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:green_heart: -16 - 0 | -0.01 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:green_heart: -688 - 0 | -0.26 - 0.0 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:green_heart: -16 - 0 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
:green_heart: -52 - 0 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ cfe797350892b018f4a5b60833c5b0ed5250ac83
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +8 | -0.04 - +0.01 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
0 - 0 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -16 - +48 | -0.01 - +0.02 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +60 | -0.26 - +0.02 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:green_heart: -16 - 0 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +20 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ dbed60aa55f798bec3ef4f3838ce37949a686181
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
:small_red_triangle: 0 - +64 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +80 | -0.26 - +0.03 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +8 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
There seems to be a slight cost of using MonoOutput::fromSFix
(20bits on the Detuned_Beats_Wash
example… But I do not manage to find where… It apparently comes from toSFraction()
… That being said, that a very small amount in relative.
Memory usage change @ 672ce218ddda5cd72a656b6bc4a1d22db16e0467
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
:small_red_triangle: 0 - +64 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +80 | -0.26 - +0.03 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +8 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ 4b483ddf81df24c48eb523615a330d07da1542b9
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | 0 - 0 | 0.0 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | 0 - 0 | 0.0 - 0.0 |
arduino:mbed_giga:giga |
:small_red_triangle: 0 - +64 | 0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | 0 - 0 | 0.0 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +80 | -0.26 - +0.03 | 0 - 0 | 0.0 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +8 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ a52b44eef91062cfe3bf11285027c0703a2d5200
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | :green_heart: -8 - 0 | -0.04 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | :green_heart: -2 - 0 | -0.02 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | :green_heart: -2 - 0 | -0.1 - 0.0 |
arduino:mbed_giga:giga |
:grey_question: -8 - +64 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +84 | -0.26 - +0.03 | :green_heart: -4 - 0 | -0.01 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +8 | -0.0 - 0.0 | :green_heart: -4 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ 1730643cfec7eaaf881ddce43fc2368d9afe36c1
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | :green_heart: -8 - 0 | -0.04 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +114 | -0.11 - +0.04 | :green_heart: -2 - 0 | -0.02 - 0.0 |
arduino:avr:uno |
:grey_question: -276 - +156 | -0.86 - +0.48 | :green_heart: -2 - 0 | -0.1 - 0.0 |
arduino:mbed_giga:giga |
:grey_question: -8 - +64 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +84 | -0.26 - +0.03 | :green_heart: -4 - 0 | -0.01 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +8 | -0.0 - 0.0 | :green_heart: -4 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | 0 - 0 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
~(I do not understand why the actions do not find some of the examples…)~
The fact that I am adding some examples seems to confuse the actions, as it does not find the "previous" version of the new examples. What is a bit weird is that it did not complained for the FMSynth_FixMath
example…
There are still a few of the "legacy" mozzi_fixmath here and there but I also have the feeling that having the two paradigms is also useful… In all cases, marking this as ready, even though I might spend a bit more time on the few remaining examples with the "legacy" fixmath!
Sketch | Flash change (bytes) | RAM change (bytes) | Comment |
---|---|---|---|
FMsynth_32k_HIFI | 6950-7364=-414 :heart: | 843-853=-10 :heart: | |
FMsynth_FixMath vs FMsynth | 7234-6840=+394 | 850-846=+4 | (not optimized as much) |
Memory usage change @ be0a9b0ae7fc8437d22ff6e0fd47d582716a1eed
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | :green_heart: -12 - 0 | -0.06 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +286 | -0.11 - +0.11 | :grey_question: -2 - +1 | -0.02 - +0.01 |
arduino:avr:uno |
:grey_question: -276 - +290 | -0.86 - +0.9 | :grey_question: -2 - +1 | -0.1 - +0.05 |
arduino:mbed_giga:giga |
:grey_question: -8 - +64 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +100 | -0.26 - +0.04 | :green_heart: -8 - 0 | -0.02 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +16 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | :small_red_triangle: 0 - +8 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ f7a40f2ef89af5d96495d4ccadda5608df2c7d93
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | :green_heart: -12 - 0 | -0.06 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +286 | -0.11 - +0.11 | :grey_question: -2 - +1 | -0.02 - +0.01 |
arduino:avr:uno |
:grey_question: -276 - +290 | -0.86 - +0.9 | :grey_question: -2 - +1 | -0.1 - +0.05 |
arduino:mbed_giga:giga |
:grey_question: -8 - +64 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +100 | -0.26 - +0.04 | :green_heart: -8 - 0 | -0.02 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +16 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | :small_red_triangle: 0 - +8 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ 74ef27175fae95ef58b43cb637120720b895280d
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | :green_heart: -12 - 0 | -0.06 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +286 | -0.11 - +0.11 | :grey_question: -2 - +1 | -0.02 - +0.01 |
arduino:avr:uno |
:grey_question: -276 - +290 | -0.86 - +0.9 | :grey_question: -2 - +1 | -0.1 - +0.05 |
arduino:mbed_giga:giga |
:grey_question: -8 - +64 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +100 | -0.26 - +0.04 | :green_heart: -8 - 0 | -0.02 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +16 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | :small_red_triangle: 0 - +8 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Thanks for the comments! I think the optimizations can also be taken care of further down the line (I though the same when working on mtof) but I will start thinking on it. If I come up with a nice solution (might be very easy) before we want to merge I will it here.
Memory usage change @ 273f2c044449a2020d824990b3156a8cba5368e6
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | :green_heart: -12 - 0 | -0.06 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +286 | -0.11 - +0.11 | :grey_question: -2 - +1 | -0.02 - +0.01 |
arduino:avr:uno |
:grey_question: -276 - +290 | -0.86 - +0.9 | :grey_question: -2 - +1 | -0.1 - +0.05 |
arduino:mbed_giga:giga |
:grey_question: -8 - +64 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +100 | -0.26 - +0.04 | :green_heart: -8 - 0 | -0.02 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +16 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | :small_red_triangle: 0 - +8 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ e8376db995e3429196e73dfd3d0f6d2d9f8f0e61
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +28 | -0.04 - +0.04 | :green_heart: -12 - 0 | -0.06 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +286 | -0.11 - +0.11 | :grey_question: -2 - +1 | -0.02 - +0.01 |
arduino:avr:uno |
:grey_question: -276 - +290 | -0.86 - +0.9 | :grey_question: -2 - +1 | -0.1 - +0.05 |
arduino:mbed_giga:giga |
:grey_question: -8 - +64 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -32 - +64 | -0.01 - +0.02 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +100 | -0.26 - +0.04 | :green_heart: -8 - 0 | -0.02 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -16 - +16 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | :small_red_triangle: 0 - +8 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Memory usage change @ 574fb90a932bc3f7f3c2d3ca68c12c83fee524e1
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +12 | -0.04 - +0.02 | :green_heart: -12 - 0 | -0.06 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +274 | -0.11 - +0.11 | :grey_question: -2 - +1 | -0.02 - +0.01 |
arduino:avr:uno |
:grey_question: -276 - +278 | -0.86 - +0.86 | :grey_question: -2 - +1 | -0.1 - +0.05 |
arduino:mbed_giga:giga |
:green_heart: -64 - 0 | -0.0 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -528 - +16 | -0.2 - +0.01 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +104 | -0.26 - +0.04 | :green_heart: -8 - 0 | -0.02 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -536 - +16 | -0.03 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | :small_red_triangle: 0 - +8 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Anything that should be done here before merging? I am starting to be afraid that this might diverges quite a bit (especially with #239 and #240)
Anything that should be done here before merging? I am starting to be afraid that this might diverges quite a bit (especially with #239 and #240)
Not that I am aware of. You are right in that we should try to put the pieces together, now.
Top! I won't be able to work on it in the next days but will try to get it up to date when I come back for merging!
Memory usage change @ 4f00936215bb2debde54996f24199c23c083d4a0
Board | flash | % | RAM for global variables | % |
---|---|---|---|---|
STMicroelectronics:stm32:GenF1:pnum=BLUEPILL_F103C8 |
:grey_question: -24 - +12 | -0.04 - +0.02 | :green_heart: -12 - 0 | -0.06 - 0.0 |
arduino:avr:mega |
:grey_question: -276 - +274 | -0.11 - +0.11 | :grey_question: -2 - +1 | -0.02 - +0.01 |
arduino:avr:uno |
:grey_question: -276 - +278 | -0.86 - +0.86 | :grey_question: -2 - +1 | -0.1 - +0.05 |
arduino:mbed_giga:giga |
:green_heart: -64 - 0 | -0.0 - 0.0 | :grey_question: -8 - +8 | -0.0 - 0.0 |
arduino:renesas_uno:minima |
:grey_question: -528 - +16 | -0.2 - +0.01 | :green_heart: -8 - 0 | -0.02 - 0.0 |
arduino:samd:adafruit_circuitplayground_m0 |
:grey_question: -688 - +104 | -0.26 - +0.04 | :green_heart: -8 - 0 | -0.02 - 0.0 |
esp8266:esp8266:huzzah |
N/A | N/A | N/A | N/A |
rp2040:rp2040:rpipico |
:grey_question: -536 - +16 | -0.03 - 0.0 | :green_heart: -8 - 0 | -0.0 - 0.0 |
teensy:avr:teensy36 |
:grey_question: -52 - +36 | -0.0 - 0.0 | :small_red_triangle: 0 - +8 | 0.0 - 0.0 |
teensy:avr:teensy41 |
N/A | N/A | N/A | N/A |
Still work in progress. So far only
Line
andSmooth
are done.I am a bit sad that there is so much code duplication between
Line<UFix>
andLine<SFix>
but up to now, I did not figure a way to avoid that. Maybe a virtual mother classFixType
, which bothUFix
andSFix
would inherit from would be the solution? (I read here and there that the performances of such dynamic polymorphism are not as good, except by doing Curiously recurring template pattern maybe?)