- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 34

Thema: Raspi Kaufberatung?

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Also mir erscheint schon die Kommandozeile für den Compiler da auf der Seite sehr suspekt. Warum verwendet man bei einem Benchmark keine Optimierungen ?

    Mit GCC -O2 -lm -o bench bench.c übersetzt kriege ich

    Raspi2
    hw brickbench
    initializing...
    0 1 int_Add
    0 3 int_Mult
    0 1 float_op
    0 1 randomize
    0 0 matrx_algb
    0 13 arr_sort
    Raspi3
    hw brickbench
    initializing...
    0 1 int_Add
    0 2 int_Mult
    0 2 float_op
    0 0 randomize
    0 0 matrx_algb
    0 13 arr_sort
    Lässt man die Optimierungen, also das -O2 weg, kommt

    Raspi2
    hw brickbench
    initializing...
    0 1 int_Add
    0 3 int_Mult
    0 2 float_op
    0 1 randomize
    0 1 matrx_algb
    0 46 arr_sort
    Raspi3
    hw brickbench
    initializing...
    0 1 int_Add
    0 3 int_Mult
    0 2 float_op
    0 1 randomize
    0 1 matrx_algb
    0 42 arr_sort
    Insgesamt wohl kein wirklich aussagekräftiger Test.

  2. #2
    HaWe
    Gast
    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!

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Man kann damit aber auf dem selben Rechner sehr unterschiedliche Ergebnisse produzieren. Hier nochmal der selbe Raspi2 nur mit einem anderen Linux und einem anderen Compiler

    Ohne Optimierung
    hw brickbench
    initializing...
    0 1 int_Add
    0 4 int_Mult
    0 1 float_op
    0 2 randomize
    0 1 matrx_algb
    0 49 arr_sort
    mit Optimierung
    hw brickbench
    initializing...
    0 0 int_Add
    0 0 int_Mult
    0 1 float_op
    0 0 randomize
    0 0 matrx_algb
    0 11 arr_sort

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    @HaWe: Tipp doch die eckigen Klammern den Backslash und das Wort CODE einfach von Hand ein.

    Habe ich grade eben in einem anden Post auch gemacht, da ich mitten im Post nicht wechseln wollte

  5. #5
    HaWe
    Gast
    das ist doch nichts neues, dass Linux nicht echtzeitfähig ist und im user space alles mögliche parallel nebenher läuft (ob man will oder nicht), was die Programmperformance insgesamt mehr oder weniger extrem stört - angefangen mit den ganzen Daemons, die Linux schon mitbringt, und all die, die man dann noch von Hand startet (gpio, i2c, UART, SPI, HDMI, Grafik, WiFi stick mit Internet und wirelss mouse/keyboard ...) und jeder Sche*** hat noch seinen eigenen Task und seinen eigenen Ast im device tree, was meinst du warum ich Linux hasse wie die Pest...
    Wenn du das alles rauslöschst, läuft es dann schneller, klar, aber sonst auch nichts anderes mehr.

    und wenn der Compiler falsch eingestellt ist und falsch "optimiert", ist klar, dass auch da was anderes rauskommt:
    Bare metal wär der Raspi wschl 10-20xx so schnell wie ein Due, was er aber normalerweise nicht ist.
    Aber deswegen habe ich ja das OS und die compile / make parameter immer mit angegeben (Raspbian Jessie, was der normale Standard ist)

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    56
    Beiträge
    2.210
    Was du nur immer hast: http://logicals.com/de/forum/raspber...raspberry-pi-s

    Gerade _das_ ist einer der Hauptvorteile von Linux: bei Bedarf kann man sich alles so zurechtoptimieren, wie man es eben braucht.
    Der Nachteil: oft muss man es _selber_ machen.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  7. #7
    HaWe
    Gast
    nein, es muss _richtig_ heißen:
    "man _muss_ alles selber machen", und das betrifft nicht nur Variationen des Standard-Raspbian-Setups, sondern alles und jedes, was man auf dem Raspi an Hard- und Software braucht, angefangen mit GPIO, UART, I2C, C-IDE, graphic libs,... einfach _alles_ , und man _muss_ es nicht nur, man _muss_ es dann auch noch dafür _selber_ _machen_ _können_ .
    Aber ich will hier keine Linux-Diskussion starten, das wäre off-topic, es ging nur um die Standard-RPi3-Performance in einem Standard-Raspbian-Jessie-Environment... und die ist eben nicht so super-doll.

    Hinzu kommt, dass, wenn man was ändert, was das (Realtime) Verhalten angeht, dann laufen u.U. - bzw. sehr wahrscheinlich - viele libs nicht mehr, die auf die Standard-Setups angepasst sind, z.B. pigpio, evtl. auch WiringPi, openVG etc.

    und ich muss endlich mal den source code vom Benchmark Test anpassen, damit auch Bruchteile von 1ms korrekt gemessen und angezeigt werden.

Ähnliche Themen

  1. Antworten: 63
    Letzter Beitrag: 18.02.2016, 07:43
  2. Kaufberatung
    Von Mario94 im Forum Robby RP6
    Antworten: 14
    Letzter Beitrag: 01.01.2011, 15:08
  3. LCD kaufberatung
    Von damaltor im Forum Asuro
    Antworten: 21
    Letzter Beitrag: 12.02.2007, 21:26
  4. ASURO Kaufberatung
    Von Pdd im Forum Asuro
    Antworten: 17
    Letzter Beitrag: 18.10.2006, 19:21
  5. Kaufberatung was will/brauch ich?!
    Von grind im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 4
    Letzter Beitrag: 09.09.2004, 14:12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test