• Hallo Leute,

    ich habe wieder eine neue Version von R-BASIC freigegeben.

    Es gibt einen Haufen interne Updates. Für den Nutzer sichtbar sind:
    * Über das Menu "Einstellungen" kann man den Ordner auswählen, in dem R-BASIC neue leere Dokumente anlegt. Per default werden sie jetzt im R-BASIC Ordner angelegt (nicht mehr im TOP-Ordner). Beim Öffnen eines neuen Dokuments landet man jetzt (wie bei allen anderen großen Programmen auch) im Ordner, der zum aktuell angezeigten Dokument gehört.

    * Das Problem, dass die "BASIC System Types" Library nicht installiert werden konnte, wenn sich der DOS-Name ändert, ist gefixt. Das betraf übrigens alle BASIC-Dateien unter USERDATA.

    * Die Picturelist ist gebugfixt (Anzeige Inhalt vom Clipboard) und kann Bilder direkt in Clipboard kopieren.

    * Ein neuer numerischer Datentyp (WWFixed) ermöglicht deutlich beschleunigte numerische Berechnungen. Er kann Zahlen von -32000 bis +32000 mit einer Genauigkeit von 4 Stellen nach dem Komma verarbeiten, was für viele Zwecke völlig ausreicht.

    * Insgesamt habe ich an diversen Stellen an der Geschwindigkeitsschraube gedreht. Viel Zeit kostet zum Beispiel das ständige Anfordern und wieder Freigeben von Speicher. Indem ich da einen Puffer geschaffen habe, der etwas Speicher auf Vorrat bereithält konnte ich String-Operationen um den gigantischen Faktor 3, in einfachen Fällen sogar um den Faktor 5 beschleunigen. Jörgs Mandelbrotfraktal rechnet in der Originalversion (mit reduzierter Größe) 3min 33s, mit der Änderung bei den Variablenzugriffen braucht sie nur noch 2min 06s (43% schneller), verwende ich den neuen Datentyp WWFixed bin ich bei 1min 19s (insgesamt mehr als doppelt so schnell). Ansonsten gibt es mal hier 2%, mal dort 3% - insgesamt läppert sich das das aber.
    Ich habe dabei zum Teil sehr tief in den Eingeweiden herumgewühlt. Solltet ihr also irgendein Problem mit der neuen Version sehen: bitte sofort melden.

    @Bernd: Sorry, dein "Speed" ist dadurch jetzt auch schneller: statt 3900 schafft er jetzt bei mir 4640. Wenn du den Schleifencode nicht änderst müsste sich das aber durch einen festen "Schummelfaktor" beheben lassen.

    * Das Problem, dass zu lange Zeilen in Dateien (z.B. Lesen der GEOS.INI in Bernds Programm) beim Einlesen eine Laufzeitfehler produzieren ist gelöst. Es wird ein Fehlercode in der globalen Variablen fileError bereitgestellt und der Rest der Zeile wird beim nächsten Versuch eingelesen.

    http://www.rbettsteller.de/BASIC/BASICDLD.HTM#IDE

    Viele Grüße
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Insgesamt habe ich an diversen Stellen an der Geschwindigkeitsschraube gedreht.

    Klasse. Performance-Updates sind immer gut.

    Zitat

    @Bernd: Sorry, dein "Speed" ist dadurch jetzt auch schneller: statt 3900 schafft er jetzt bei mir 4640. Wenn du den Schleifencode nicht änderst müsste sich das aber durch einen festen "Schummelfaktor" beheben lassen.

    Hatte ich schon mit gerechnet, nachdem du mal die Geschwindigkeitsverbesserungen in R-Basic erwähnt hattest. Wie das mit dem Schummelfaktor genau geht, müsstest du noch erklären. Falls das jedoch nicht auf allen Systemen ziemlich exakt funktionieren sollte, wäre ich eher für die Beibehaltung der neuen, schnelleren Werte und bei Gelegenheit für einen neuen einheitlichen Geschwindigkeitsvergleich auf den Rechnern aller Leute, die mitmachen wollen.

  • Hallo Bernd,

    wäre ich eher für die Beibehaltung der neuen, schnelleren Werte und bei Gelegenheit für einen neuen einheitlichen Geschwindigkeitsvergleich auf den Rechnern aller Leute, die mitmachen wollen.

    Theoretisch sollte der "Beschleunigungsfaktor" bei allen gleich sein. Sauberer ist es schon, den von Speed gemessenen Wert zu verwenden. Aber es sollte möglich sein, einen für alle gültigen Faktor (z.B. fiktiv: 1,12) anzugeben, mit dem man den alten Speed-Wert multiplizieren muss, damit er mit dem neuen vergleichbar ist.
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hallo,

    Uli hat entdeckt, dass in der 0.9.5 InKey$ nicht mehr ging. Da hab ich doch glatt was verschlimmbessert. Deswegen gibt es jetzt ein Update. Das Fixt gleich noch ein paar andere Sachen.

    Und weil es schon fertig ist habe ich die Funktionen zur Arbeit mit dem Julianischen Datum incl. zugehöriger Doku (Programmierhandbuch, Vol 3) gleich freigeschaltet. Auf der Webseite steht dazu aber noch nichts, das kommt erst mit der nächsten Release.

    Gruß
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.