RunCPM Speed-Vergleich auf verschiedenen Plattformen

  • Wir hatten ja schon einmal einige CP/M-Systeme im Speed-Vergleich durch ein Mandelbrot-BASIC Programm aus dem Forum-64 und diesen auch hier im Forum gegen getestet.


    Nun wurde im Discord-Server von RunCPM ein anderes Mandelbor-Programm genutzt (aus dem CPM-Software-Archive von RunCPM - da Disk B - FRACTAL.BAS) und dabei gab es interessante Geschwindigkeiten bei Teensy MCUs > v3.5


    Hier die derzeitige Liste (Ergebnis jeweils in Min:Sec):



  • Habe mal das FRACTAL.BAS mit BASICA und mit QBASIC, und zuletzt mit QuickBASIC 7.1 compiliert und ausgeführt.

    Mit der DOSBOX 0.73 unter Windows 10 ohne Veränderung der Standard DOSBOX Parameter läuft das Ganze langsamer ab, als ich dachte.

    Immerhin ist das Kompilat in der DOSBOX so schnell, das 9 von 10 Aufrufe genau 0 Sekunden bringen, bei einem Aufruf dauert es meist zwischen 0.04 und 0.06 Sekunden. Die Interpreter-Varianten laufen unter BASICA (also dem ältesten Interpreter unter DOS) 1.53 Sekunden, liegt da wohl auch an der Zeichenausgabe hauptsächlich, unter QBASIC 1,2 Sekunden.

    Gemessen habe ich das mit der TIMER Variable, leicht ergänzter Quellcode hängt an. Muss ich auch nochmal auf einem IBM PC mit 4.77 MHz mal probieren.

  • Alles modernes „Zeugs“. Ich hab mal den Uropa rechnen lassen. :D


    Imsai 8080

    Intel 8080 CPU mit 2 MHZ

    60kb stat. RAM

    CP/M 2.2

    Basic-80 Rev. 5.21 vom 28.7.1980


    Zeit: 9 Minuten und 54 Sekunden





    Gruß Jan

  • Der Original IBM PC mit 4.77 MHz mit CGA Karte ist recht lahm.

    Mit BASICA kann ich lange zuschauen bis das Bild aufgebaut ist, immerhin 307,2 Sekunden (also etwas mehr als 5 Min).

    Mit QBASIC ist es auch nicht viel schneller, da sind es 248,65 Sekunden (also etwas mehr als 4 Min).

    Erst das Kompilat (QuickBASIC 7.1 Compiler) kommt auf annehmbare 154 Sekunden.

    • Offizieller Beitrag

    MFA mit Z180 (8 MHz CPU-Clock): 2:05 min

    MFA mit Z180 (36,864 MHz CPU-Clock): 0:28 min


    beides handgestoppt, RS232 mit 19200 bps

    BASIC-85 Rev. 5.29



    Nachtrag:

    Berechnung in DoublePrecision (DEFDBL A-C,T)

    MFA mit Z180 (36,864 MHz CPU-Clock): 1:16 min

  • auf einem RPi2 mit 5inch Waveshare HDMI-Display (800x480) braucht das Fractal im
    Interpretermodus von MBASIC-80 v5.29 noch 7 Sekunden ;)
    (Ich muss mir mal ein kleines Gehaeuse bauen, damit das Display immer im richtigen Winkel ist fuer die Sichtbarkeit.
    Ist leider ein sehr kleiner Winkel fuer gute Sichtbarkeit)


  • Eine WANG 2200B von 1973 braucht ohne Optimierung des Codes 11 Minuten und 43 Sekunden, rechnet dafür aber auch alle Zahlen immer mit 13 Stellen...

    Sammle Computer, Tisch- und Taschenrechner bis ca. 1990, CPUs, Speicher, Speichermedien aller Art und suche u. a. EPROM C1701, Intel C4040 CPU, i487SX-CPU, IBM CGA-Karte, Netzteil für IBM 5155, Video Seven FastWrite und V-RAM ISA-VGA-Karte, Texas Instruments Notebook TravelMate 3000, Citizen W1D 3,5"-Disklaufwerk, MiniSD- und eMMC-Karten, Magnetblasenspeicher, Bänder (3/4"/1"/AIT/Mammoth/Travan/VXA) und Medien (2" LT-1, Apple Twiggy-Disk 5,25", Bernoulli Box II, HiFD, Jaz, Quest, SQ100-400)

  • Coole Sache, im F64-Thread hatte ich mich auch schonmal gemeldet, aber es nie auf meiner ETV 250 bzw. 300 getestet, aus Zeit und/oder Platzmangel. Das muss ich mal nachholen. Bei der Gelegenheit eine Frage, wie kommt man aus mbasic.com unter cp/m eigentlich wieder raus? exit, quit und solche Befehle habe ich schon ausprobiert, keine Reaktion... Sobald ich die ETVs mal wieder aufbauen kann, muss ich das unbedingt machen. Kann bitt mal jemand hier die verschiedenen angepassten Versionen anhängen, CP/M Basic, kompiliert, MS-DOS GW/Quickbasic, kompiliert?

    1ST1

    • Offizieller Beitrag

    Bei der Gelegenheit eine Frage, wie kommt man aus mbasic.com unter cp/m eigentlich wieder raus?

    system


    Kommt man doch sofort drauf. ;)

  • Bei der Gelegenheit eine Frage, wie kommt man aus mbasic.com unter cp/m eigentlich wieder raus?

    system


    Kommt man doch sofort drauf. ;)

    Ich glaube, "jeder" hatte da mal diese Situation ?! Als ich in der Situation mal war, hab ich glaub ich 20 Befehle ausprobiert und nichts hat funktioniert. Also würde da irgendeiner an "system" denken ?! :D



    Gruß Jan

  • Die 'Älteren' kennen das noch.



    :rtfm:

    Mit freundlichen Grüßen


    fritz

    • Offizieller Beitrag

    Die 'Älteren' kennen das noch.



    :rtfm:

    Irgendwann hatte mein Chef gesagt/gefragt "Das steht doch in der Doku. Haben Sie das nicht gelesen?"

    Hab ich geantwortet: "Ich kann doch gar nicht lesen."

    Nach dem dummen Gesicht meines Chefs hab ich nachgelegt: "Das habe ich Ihnen aber im Vorstellungsgespraech gesagt!"

    Daraufhin hatten wir alle etwas zu lachen. Und es war ein Running Gag fuer die naechsten Jahre.

  • Zum Glück hast du nicht bei Jack Tramiel gearbeitet ! 😊


    ....Jack Attack...


    Gruss Jan

  • Sodele, dann mach ich auch mal mit:



    CT180 mit 9.216MHz (18.432MHz/2)

    jeweils handgestoppt, RS232 mit 19200 Baud


    BASIC-80 Rev. 5.21

    0-MEM Wait = 1:54

    1-MEM Wait = 2:26


    BASIC-80 Rev. 5.22

    0-MEM Wait = 1:51

    1-MEM Wait = 2:27


    BASCOM

    0-MEM Wait = 0:52

    1-MEM Wait = 1:07


    Gruß

    Alfred

  • habe den Prof180x auf 9.216MHz (18Mhz) getunt, keine MEM Waits.

    Damit schafft er das Apfelmänchen in 1:58

    cool - da liegt der Prof180x knapp unter dem Speed eines RunCPM mit Arduino DUE , was fuer "echte" Hardware ein sehr guter Wert ist ;)

    BTW: die Einstellung der Kompilierung-Optimierung brachte den Arduino DUE erst richtig auf Speed.
    Mit der normalen Optimierungs-Option "-Os" dauert das Fractal bis zu 3:00 Minuten und mit der Option "-O3" ging die Berechnungszeit auf 1:50 runter.
    Die Option kann man an 3 Stellen in der platform.txt

    einstellen.


    Code
    compiler.c.flags=-c -g -O3
    compiler.c.elf.flags=-O3
    compiler.cpp.flags=-c -g -O3

    Einmal editiert, zuletzt von guidol ()

  • Nachdem die Kompilierungs-Optimierung beim Arudino DUE so viel gebracht hatte
    (von knapp 3 Minten auf ca, 1:50 Minuten) musste ich doch mal dies auch beim ESP32 testen :)


    Vorher brachte es mein ESP32-WROOM-32 auf 0:46 Minuten beim FRACTAL-Test.


    Nun habe ich in der zum ESP32 zugehoerigen (siehe Bild fuer den Pfad) platform.txt

    die Optimierung auch von "-Os" auf "-O3" umgestellt und RunCPM neu compiliert....


    und WOW ;) der FRACTAL-Test laeuft nun anstatt in 46 Sekunden nun in 29 Sekunden durch! :)

    (das ist eine Steigerung von 100% auf 158.6%)

    Einmal editiert, zuletzt von guidol ()

  • habe den Prof180x auf 9.216MHz (18Mhz) getunt, keine MEM Waits.

    Damit schafft er das Apfelmänchen in 1:58


    LG Werner

    ::cry:: warum quälst du den so ::cry::

    Kommt drauf an welche CPU er drin hat, wenn es eine Z80H ist, sehe ich da zumindest bei der CPU keine Quälerei ;)

    Ich könnte auch mal meinen (noch nicht verkauften, weil Corona) Micromint SB180FX mit dem BASIC-Programm füttern und die Laufzeit messen, der könnte mit der HD64180 und auch 9,2 MHz noch schneller sein...

    "The biggest communication problem is we do not listen to understand. We listen to reply." - Stephen Covey


    Webseite und Blog ist immer noch - seit fast 20 Jahren - online.

  • Ich habe zumindest auf der Diskette im 1715 neben MBASIC noch BASC.COM und BASI.COM. Das soll dem RBASIC recht ähnlich sein.


    Im BASIC-Lehrgang gibt es auch eine Fraktal-Geschichte, zumindest für den KC87, der ja mit den 2364 Bitmuster 600 den selben BASIC-Kern wie die Mühlhäuser KC haben.


    Und eine Stopuhrapp suchen.