keine Optimierungen deswegen, weil stur der nackte Code abgearbeitet werden soll.
Optimierungen können z.B. die Zählschleifen mit den Konstanten-Operationen wegoptimieren, deren Werte ja nie benutzt werden, oder auch sonst irgendwie Prozeduren "abkürzen".
Das wäre dann wie Nürburgring-Nordschleife querfeldein abgekürzt per Highspeed-Feldweg oder Hubschrauber.
Es sollen aber alle Oprationen haarklein gemacht werden, damit man sieht, wie lang da wirklich gebraucht wird fürs Laden in und aus Registern, Integer- und fp- Units (soweit vorhanden) und RAM.
hier nochmal zum direkten Vergleich meine B+ und 2B Werte:
Code:
bench test ms B+ 2B
cpu clock 800MHz 900MHz
Grafik: openvg
Screen: HDMI 1060x600
int_add 1 1
int_mult 3 4
float_op 13 2
mersenne 2 1
matrix 1 2
arr_sort 88 46
text 2630 2626
graph 13333 13333
gesamt ms: 16072 16015
Benchmark: 3111 3122
bei dir:
Code:
Raspi2
0 1 int_Add
0 3 int_Mult
0 2 float_op
0 1 randomize
0 1 matrx_algb
0 46 arr_sort
Code:
Raspi3
0 1 int_Add
0 3 int_Mult
0 2 float_op
0 1 randomize
0 1 matrx_algb
0 42 arr_sort
(sch*** code tags nur im "erweitert" Editor
und doch, ich finde ihn SEHR aussagekräftig, weil er nämlich Funktionen wie in echten Programmen benutzt, sowohl low-level shift/XOR als auch high-level shellsort etc.
Da weiß man nämlich wirklich, was man an Mehr oder Weniger später zu erwarten hat.
(Multitasking wird hier nicht getestet, bei float und array_sort sieht man trotzdem stärkere Unterschiede als sonst zwischen B+ und 2B / 3B.)
wäre die Pi 3 cpu aber wirklich 2x schneller, würde man das auch in jedem Einzeltest im Vergleich zum 2B oder B+ sehen, wie auch sonst? Im Vergleich zu den verschiedenen Arduinos sieht man es ja auch!
Lesezeichen