Benchmarks¶
Dieses Dokument beschreibt die Klipper-Benchmarks.
Mikrocontroller-Benchmarks¶
Dieser Abschnitt beschreibt den genutzten Mechanismus für die Ermittlung der maximalen Schrittrate der Mikrocontroller.
Das primäre Ziel des Benchmarks ist, einen gleichbleibenden Mechanismus zur Ermittlung der Einflüsse durch Codeänderungen in der Software. Das sekundäre Ziel ist, High-Level Messdaten zum Vergleich der Performance zwischen verschiedenen Chips und Software Plattformen zu ermitteln.
Der Schrittraten Benchmark ist designed um die maximalen Schrittraten der Hard und Software zu ermitteln. Der Schrittraten Benchmark ist nicht für den täglichen Gebrauch vorgesehen da Klipper auch andere Vorgänge (z.B. MCU/Host Kommunikation, Temperatur Erfassung, überprüfung der Endschalter etc) ver- bzw bearbeitet.
Grundsätzlich sind die Pins des Benchmark Tests für die Ansteuerung von z.B LED's oder anderen nicht kritischen Vorgängen gedacht. Vergewissern Sie sich, dass es sicher ist die konfigurierten Pins im Benchmark zu benutzen bevor der Benchmark gestartet wird. Es ist nicht empfehlenswert einen Schrittmotor mit dem Benchmarks zu betreiben.
Schrittraten Benchmark Test¶
Der Test wird mit dem Werkzeug console.py durchgeführt (beschrieben in
SET start_clock {clock+freq}
SET ticks 1000
reset_step_clock oid=0 clock={start_clock}
set_next_step_dir oid=0 dir=0
queue_step oid=0 interval={ticks} count=60000 add=0
set_next_step_dir oid=0 dir=1
queue_step oid=0 interval=3000 count=1 add=0
reset_step_clock oid=1 clock={start_clock}
set_next_step_dir oid=1 dir=0
queue_step oid=1 interval={ticks} count=60000 add=0
set_next_step_dir oid=1 dir=1
queue_step oid=1 interval=3000 count=1 add=0
reset_step_clock oid=2 clock={start_clock}
set_next_step_dir oid=2 dir=0
queue_step oid=2 interval={ticks} count=60000 add=0
set_next_step_dir oid=2 dir=1
queue_step oid=2 interval=3000 count=1 add=0
Der obige Vorgang testet drei gleichzeitig arbeitende Schrittmotoren. Endet der Test mit einem Fehler wie "Rescheduled timer in the past" oder "Stepper too far in past", deutet dies auf einen zu niedrigen Wert des Parameters ticks hin (die resultierende Schrittrate ist zu hoch). Ziel ist es, den niedrigsten Wert des ticks-Parameters zu finden, mit dem der Test zuverlässig erfolgreich durchläuft. Der Wert lässt sich durch Intervallhalbierung eingrenzen, bis ein stabiler Wert gefunden ist.
Bei Fehlschlagen, fügen Sie das folgende ein um den Error zu bestätigen und zu löschen um den Test erneut durchzuführen:
clear_shutdown
Um den Einzel Schrittmotor Benchmark durchzuführen, wird die selbe Konfigurations Sequenz verwendet und nur der erste Block des obigen Tests in das console.py Fenster eingefügt.
Um die im Dokument Features angegebenen Leistungswerte zu erhalten, wird die Gesamtzahl der Schritte pro Sekunde berechnet, indem die Anzahl der aktiven Schrittmotoren mit der nominellen MCU-Frequenz multipliziert und durch den endgültigen ticks-Parameter geteilt wird. Die Ergebnisse werden auf volle Tausend (K) gerundet. Zum Beispiel bei drei aktiven Schrittmotoren:
ECHO Test result is: {"%.0fK" % (3. * freq / ticks / 1000.)}
Die Leistungstests werden mit für TMC-Treiber geeigneten Parametern durchgeführt. Bei Mikrocontrollern, die STEPPER_BOTH_EDGE=1 unterstützen (angezeigt in der Zeile MCU config beim Start von console.py), verwenden Sie step_pulse_duration=0 und invert_step=-1, um optimiertes Schalten an beiden Flanken des Schrittimpulses zu aktivieren. Bei anderen Mikrocontrollern verwenden Sie eine step_pulse_duration entsprechend 100 ns.
AVR Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei AVR Chips verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PA5 dir_pin=PA4 invert_step=0 step_pulse_ticks=32
config_stepper oid=1 step_pin=PA3 dir_pin=PA2 invert_step=0 step_pulse_ticks=32
config_stepper oid=2 step_pin=PC7 dir_pin=PC6 invert_step=0 step_pulse_ticks=32
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version avr-gcc (GCC) 5.4.0 ausgeführt. Sowohl der 16-MHz- als auch der 20-MHz-Test wurden mit simulavr in der Konfiguration für einen atmega644p durchgeführt (frühere Tests haben bestätigt, dass die simulavr-Ergebnisse mit Tests an einem 16-MHz-at90usb und einem 16-MHz-atmega2560 übereinstimmen).
| AVR | ticks |
|---|---|
| 1 Schrittmotor | 102 |
| 3 Schrittmotoren | 486 |
Arduino Due Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei Due verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PB27 dir_pin=PA21 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PB26 dir_pin=PC30 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PA21 dir_pin=PC30 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 ausgeführt.
| SAM3x8e | ticks |
|---|---|
| 1 Schrittmotor | 66 |
| 3 Schrittmotoren | 257 |
Duet Maestro Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei Duet Maestro verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PC26 dir_pin=PC18 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PC26 dir_pin=PA8 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PC26 dir_pin=PB4 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 ausgeführt.
| SAM4s8c | ticks |
|---|---|
| 1 Schrittmotor | 71 |
| 3 Schrittmotoren | 260 |
Duet Wifi Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei Duet WiFi verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PD6 dir_pin=PD11 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PD7 dir_pin=PD12 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PD8 dir_pin=PD13 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version gcc version 10.3.1 20210621 (release) (GNU Arm Embedded Toolchain 10.3-2021.07) ausgeführt.
| SAM4e8e | ticks |
|---|---|
| 1 Schrittmotor | 48 |
| 3 Schrittmotoren | 215 |
Beaglebone PRU Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei PRU verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=gpio0_23 dir_pin=gpio1_12 invert_step=0 step_pulse_ticks=20
config_stepper oid=1 step_pin=gpio1_15 dir_pin=gpio0_26 invert_step=0 step_pulse_ticks=20
config_stepper oid=2 step_pin=gpio0_22 dir_pin=gpio2_1 invert_step=0 step_pulse_ticks=20
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version pru-gcc (GCC) 8.0.0 20170530 (experimental) ausgeführt.
| PRU | ticks |
|---|---|
| 1 Schrittmotor | 231 |
| 3 Schrittmotoren | 847 |
STM32F042 Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei STM32F042 verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PA1 dir_pin=PA2 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PA3 dir_pin=PA2 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PB8 dir_pin=PA2 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 ausgeführt.
| STM32F042 | ticks |
|---|---|
| 1 Schrittmotor | 59 |
| 3 Schrittmotoren | 249 |
STM32F103 Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei STM32F103 verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PC13 dir_pin=PB5 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PB3 dir_pin=PB6 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PA4 dir_pin=PB7 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 ausgeführt.
| STM32F103 | ticks |
|---|---|
| 1 Schrittmotor | 61 |
| 3 Schrittmotoren | 264 |
STM32F4 Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei STM32F4 verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PA5 dir_pin=PB5 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PB2 dir_pin=PB6 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PB3 dir_pin=PB7 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 ausgeführt. Die Ergebnisse für den STM32F407 wurden erzielt, indem ein STM32F407-Binary auf einem STM32F446 ausgeführt wurde (und damit mit einem 168-MHz-Takt).
| STM32F446 | ticks |
|---|---|
| 1 Schrittmotor | 46 |
| 3 Schrittmotoren | 205 |
| STM32F407 | ticks |
|---|---|
| 1 Schrittmotor | 46 |
| 3 Schrittmotoren | 205 |
STM32H7 Schrittraten-Leistungstest¶
Auf dem STM32H723 wird die folgende Konfigurationssequenz verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PA13 dir_pin=PB5 invert_step=-1 step_pulse_ticks=52
config_stepper oid=1 step_pin=PB2 dir_pin=PB6 invert_step=-1 step_pulse_ticks=52
config_stepper oid=2 step_pin=PB3 dir_pin=PB7 invert_step=-1 step_pulse_ticks=52
finalize_config crc=0
Der Test wurde zuletzt mit Commit 554ae78d und gcc-Version arm-none-eabi-gcc (Fedora 14.1.0-1.fc40) 14.1.0 ausgeführt.
| stm32h723 | ticks |
|---|---|
| 1 Schrittmotor | 70 |
| 3 Schrittmotoren | 181 |
STM32G0B1 Schrittraten-Leistungstest¶
Auf dem STM32G0B1 wird die folgende Konfigurationssequenz verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PB13 dir_pin=PB12 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PB10 dir_pin=PB2 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PB0 dir_pin=PC5 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 247cd753 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 ausgeführt.
| stm32g0b1 | ticks |
|---|---|
| 1 Schrittmotor | 58 |
| 3 Schrittmotoren | 243 |
STM32G4 Schrittraten-Leistungstest¶
Auf dem STM32G431 wird die folgende Konfigurationssequenz verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PA0 dir_pin=PB5 invert_step=-1 step_pulse_ticks=17
config_stepper oid=1 step_pin=PB2 dir_pin=PB6 invert_step=-1 step_pulse_ticks=17
config_stepper oid=2 step_pin=PB3 dir_pin=PB7 invert_step=-1 step_pulse_ticks=17
finalize_config crc=0
Der Test wurde zuletzt mit Commit cfa48fe3 und gcc-Version arm-none-eabi-gcc (Fedora 14.1.0-1.fc40) 14.1.0 ausgeführt.
| stm32g431 | ticks |
|---|---|
| 1 Schrittmotor | 47 |
| 3 Schrittmotoren | 208 |
LPC176x Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei LPC176x verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=P1.20 dir_pin=P1.18 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=P1.21 dir_pin=P1.18 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=P1.23 dir_pin=P1.18 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 ausgeführt. Die Ergebnisse für den LPC1769 mit 120 MHz wurden durch Übertakten eines LPC1768 auf 120 MHz erzielt.
| LPC1768 | ticks |
|---|---|
| 1 Schrittmotor | 52 |
| 3 Schrittmotoren | 222 |
| LPC1769 | ticks |
|---|---|
| 1 Schrittmotor | 51 |
| 3 Schrittmotoren | 222 |
SAMD21 Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei SAMD21 verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PA27 dir_pin=PA20 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PB3 dir_pin=PA21 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PA17 dir_pin=PA21 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 auf einem SAMD21G18-Mikrocontroller ausgeführt.
| SAMD21 | ticks |
|---|---|
| 1 Schrittmotor | 70 |
| 3 Schrittmotoren | 306 |
SAMD51 Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei SAMD51 verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PA22 dir_pin=PA20 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PA22 dir_pin=PA21 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PA22 dir_pin=PA19 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version arm-none-eabi-gcc (Fedora 10.2.0-4.fc34) 10.2.0 auf einem SAMD51J19A-Mikrocontroller ausgeführt.
| SAMD51 | ticks |
|---|---|
| 1 Schrittmotor | 39 |
| 3 Schrittmotoren | 191 |
| 1 Schrittmotor (200Mhz) | 39 |
| 3 Schrittmotoren (200Mhz) | 181 |
SAME70 Schrittraten-Leistungstest¶
Auf dem SAME70 wird die folgende Konfigurationssequenz verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PC18 dir_pin=PB5 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PC16 dir_pin=PD10 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PC28 dir_pin=PA4 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 34e9ea55 und gcc-Version arm-none-eabi-gcc (NixOS 10.3-2021.10) 10.3.1 auf einem SAME70Q20B-Mikrocontroller ausgeführt.
| same70 | ticks |
|---|---|
| 1 Schrittmotor | 45 |
| 3 Schrittmotoren | 190 |
AR100 Schrittraten-Leistungstest¶
Auf der AR100-CPU (Allwinner A64) wird die folgende Konfigurationssequenz verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=PL10 dir_pin=PE14 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=PL11 dir_pin=PE15 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=PL12 dir_pin=PE16 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit b7978d37 und gcc-Version or1k-linux-musl-gcc (GCC) 9.2.0 auf einem Allwinner-A64-H-Mikrocontroller ausgeführt.
| AR100 R_PIO | ticks |
|---|---|
| 1 Schrittmotor | 85 |
| 3 Schrittmotoren | 359 |
RPxxxx Schrittraten-Leistungstest¶
Auf dem RP2040 und dem RP2350 wird die folgende Konfigurationssequenz verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=gpio25 dir_pin=gpio3 invert_step=-1 step_pulse_ticks=0
config_stepper oid=1 step_pin=gpio26 dir_pin=gpio4 invert_step=-1 step_pulse_ticks=0
config_stepper oid=2 step_pin=gpio27 dir_pin=gpio5 invert_step=-1 step_pulse_ticks=0
finalize_config crc=0
Der Test wurde zuletzt mit Commit 14c105b8 und gcc-Version arm-none-eabi-gcc (Fedora 14.1.0-1.fc40) 14.1.0 auf Raspberry Pi Pico und Pico 2 ausgeführt.
| rp2040 (*) | ticks |
|---|---|
| 1 Schrittmotor | 3 |
| 3 Schrittmotoren | 14 |
| rp2350 | ticks |
|---|---|
| 1 Schrittmotor | 36 |
| 3 Schrittmotoren | 169 |
(*) Beachten Sie, dass sich die angegebenen rp2040-Ticks auf einen 12-MHz-Planungstimer beziehen und nicht der internen ARM-Verarbeitungsrate von 200 MHz entsprechen. Es ist zu erwarten, dass 3 Planungsticks etwa 42 ARM-Kerntakten und 14 Planungsticks etwa 225 ARM-Kerntakten entsprechen.
Linux MCU Schrittraten Benchmark¶
Die nachfolgende Konfiguration wird bei einem Raspberry Pi verwendet:
allocate_oids count=3
config_stepper oid=0 step_pin=gpio2 dir_pin=gpio3 invert_step=0 step_pulse_ticks=5
config_stepper oid=1 step_pin=gpio4 dir_pin=gpio5 invert_step=0 step_pulse_ticks=5
config_stepper oid=2 step_pin=gpio6 dir_pin=gpio17 invert_step=0 step_pulse_ticks=5
finalize_config crc=0
Der Test wurde zuletzt mit Commit 59314d99 und gcc-Version gcc (Raspbian 8.3.0-6+rpi1) 8.3.0 auf einem Raspberry Pi 3 (Revision a02082) ausgeführt. Es war schwierig, in diesem Leistungstest stabile Ergebnisse zu erzielen.
| Linux (RPi3) | ticks |
|---|---|
| 1 Schrittmotor | 160 |
| 3 Schrittmotoren | 380 |
Leistungstest der Befehlsabarbeitung¶
Der Leistungstest der Befehlsabarbeitung prüft, wie viele "Dummy"-Befehle der Mikrocontroller verarbeiten kann. Er ist in erster Linie ein Test des Kommunikationsmechanismus der Hardware. Der Test wird mit dem Werkzeug console.py durchgeführt (beschrieben in
DELAY {clock + 2*freq} get_uptime
FLOOD 100000 0.0 debug_nop
get_uptime
Ist der Test abgeschlossen, berechnen Sie die Differenz zwischen den beiden clocks in den "uptime" Antwortnachrichten clock_diff. Die Gesamt Nachrichtenanzahl pro Sekunde wird wie folgt berechnet 100000 * mcu_frequency / clock_diff.
Die USB-Tests können die CPU-Kapazität eines Raspberry Pi übersteigen. Wenn Sie auf einem Raspberry Pi, einem Beaglebone oder einem ähnlichen Host-Rechner testen, erhöhen Sie die Verzögerung (z. B. DELAY {clock + 20*freq} get_uptime). Die nachfolgenden Leistungstests wurden, soweit zutreffend, mit console.py auf einem Desktop-Rechner durchgeführt, wobei das Gerät über einen SuperSpeed-Hub angeschlossen war.
Die CAN-Bus-Tests können den USB-Host-Controller eines Raspberry Pi auslasten (beim Test über einen üblichen gs_usb-USB-zu-CAN-Bus-Adapter). Die nachfolgenden CAN-Bus-Leistungstests wurden, soweit zutreffend, mit console.py auf einem Desktop-Rechner durchgeführt, wobei ein USB-zu-CAN-Bus-Adapter über einen SuperSpeed-USB-Hub angeschlossen war.
| MCU | Rate | Bau | Build Compiler |
|---|---|---|---|
| ATMEGA2560 (serial) | 23K | b161a69e | avr-gcc (GCC) 4.8.1 |
| SAM3x8e (serial) | 23K | b161a69e | arm-none-eabi-gcc (Fedora 7.1.0-5.fc27) 7.1.0 |
| rp2350 (CAN) | 59K | 17b8ce4c | arm-none-eabi-gcc (Fedora 14.1.0-1.fc40) 14.1.0 |
| at90usb1286 (USB) | 75K | 01d2183f | avr-gcc (GCC) 5.4.0 |
| AR100 (serial) | 138K | 08d037c6 | or1k-linux-musl-gcc 9.3.0 |
| samd21 (USB) | 223K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| pru (gemeinsam genutzter Speicher) | 260K | c5968a08 | pru-gcc (GCC) 8.0.0 20170530 (experimentel) |
| stm32f103 (USB) | 355K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| sam3x8e (USB) | 418K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| lpc1768 (USB) | 534K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| lpc1769 (USB) | 628K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| sam4s8c (USB) | 650K | 8d4a5c16 | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| samd51 (USB) | 864K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| stm32f446 (USB) | 870K | 01d2183f | arm-none-eabi-gcc (Fedora 7.4.0-1.fc30) 7.4.0 |
| rp2040 (USB) | 885K | f6718291 | arm-none-eabi-gcc (Fedora 14.1.0-1.fc40) 14.1.0 |
| rp2350 (USB) | 885K | f6718291 | arm-none-eabi-gcc (Fedora 14.1.0-1.fc40) 14.1.0 |
Host Benchmarks¶
Mit dem Mechanismus der "Stapelverarbeitung" (beschrieben in
time ~/klippy-env/bin/python ./klippy/klippy.py config/example-cartesian.cfg -i something_complex.gcode -o /dev/null -d out/klipper.dict