Hi. I am developing a custom application which interfaces with FStorage constantly. I have run into a peculiar situation in testing where the speed of writing to FStorage is 3.7x slower on our custom board, versus the development board.
Both boards are using the internal 32.768Hz clock to operate. Its weird because we have a 1 second heartbeat out of UART, and that is precisely at 1s on each iteration for both hardwares. However, for some reason, the FStorage write is 3.7x slower for the custom board.
Below are the speed test results between the two hardware modules. The left number (100-2800) is number of FStorage writes per time check. So the eval board clocked 100 writes in 2.4ms, and the custom board clocked 100 writes at 9.4 ms. Note the time is in milliseconds (ms). The code bases for both tests were identical, so its not related to code.
Any input is much appreciated!
Eval board |
Custom board |
Difference factor |
||
100 |
0.000 |
100 |
0.000 |
0 |
200 |
2.437 |
200 |
9.422 |
3.86622897 |
300 |
4.875 |
300 |
18.484 |
3.791589744 |
400 |
7.328 |
400 |
27.406 |
3.739901747 |
500 |
9.781 |
500 |
36.703 |
3.752479297 |
600 |
12.187 |
600 |
45.969 |
3.771970132 |
700 |
14.625 |
700 |
55.125 |
3.769230769 |
800 |
17.094 |
800 |
64.281 |
3.76044226 |
900 |
19.500 |
900 |
73.406 |
3.764410256 |
1000 |
22.000 |
1000 |
82.328 |
3.742181818 |
1100 |
24.422 |
1100 |
91.516 |
3.747277045 |
1200 |
26.859 |
1200 |
100.438 |
3.739454187 |
1300 |
29.281 |
1300 |
109.391 |
3.735903828 |
1400 |
31.719 |
1400 |
118.891 |
3.748258142 |
1500 |
34.203 |
1500 |
128.406 |
3.754232085 |
1600 |
36.641 |
1600 |
137.594 |
3.755192271 |
1700 |
39.062 |
1700 |
146.656 |
3.754441657 |
1800 |
41.500 |
1800 |
155.688 |
3.751518072 |
1900 |
43.953 |
1900 |
164.797 |
3.749391395 |
2000 |
46.359 |
2000 |
174.063 |
3.754675468 |
2100 |
48.828 |
2100 |
183.266 |
3.753297288 |
2200 |
51.250 |
2200 |
192.313 |
3.75244878 |
2300 |
53.719 |
2300 |
201.656 |
3.753904578 |
2400 |
56.172 |
2400 |
210.906 |
3.754646443 |
2500 |
58.594 |
2500 |
220.016 |
3.754923712 |
2600 |
61.062 |
2600 |
229.047 |
3.751056303 |
2700 |
63.500 |
2700 |
238.281 |
3.752456693 |
2800 |
65.922 |
2800 |
247.297 |
3.751357665 |