AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte RtlVclOptimize 2.77 - DelphiSpeedUp Code im eigenen Programm
Thema durchsuchen
Ansicht
Themen-Optionen

RtlVclOptimize 2.77 - DelphiSpeedUp Code im eigenen Programm

Ein Thema von jbg · begonnen am 8. Mai 2007 · letzter Beitrag vom 7. Mai 2008
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    
jbg
Registriert seit: 12. Jun 2002
Ich hatte eigentlich vor an den Delphi Tagen 2007 eine Unit mit den Optimierungen von DelphiSpeedUp vorzustellen. Jedoch kam mir etwas dazwischen, wodurch ich nicht an den Delphi Tagen 2007 teilnehmen konnte und auch keine Zeit hatte, diese Unit für die Öffentlichkeit aufzubereiten.

Wer also schon immer mal die Optimierungen aus DelphiSpeedUp in seinem eigenen Programmen haben wollte, kann sich nun die RtlVclOptimize.pas Unit herunterladen und sie in seine Projekte einbinden.


Installationsanleitung
  • 1. Entpacken der RtlVclOptimize.zip in einen beliebigen Ordner.
  • 2. Die Unit zum Delphi-Projekt hinzufügen. Am besten recht weit oben in der uses-Liste, da dadurch bereits die initialization-Abschnitte der andere Units auf die schnelleren Funktionen zugreifen.
Was gibt es zu beachten
  • Die Unit muss in der EXE-Datei stecken und nicht in einem Package. Denn würde das Package entladen, könnte man sich vor den auftretenden Zugriffsverletzungen nicht retten, weil die Funktionen auf die die original-RTL Funktionen umgeleitet werden, nicht mehr im Speicher sind.
Was ist RtlVclOptimize.pas nicht, bzw. was fehlt im Vergleich zu DelphiSpeedUp
  • Die Unit ist nicht die FastCode Library. Diese muss extra heruntergeladen werden, wenn man deren RTL-Optimierungen zusätzlich nutzen will.
  • FastObj ist nicht enthalten
  • Sämtliche nur für die IDE interessante Optimierungen fehlen
Lizenz
  • Die Unit steht unter der MPL 1.1. Darf also auch in kommerziellen/closed-source Anwendungen eingesetzt werden
Angehängte Dateien
Dateityp: zip rtlvcloptimize277_139.zip (21,3 KB, 262x aufgerufen)
 
Gecko
 
#2
  Alt 2. Jun 2007, 23:59
Da sag ich mal danke fürs frisieren
Wo bekomme ich die FastCode Libary?
  Mit Zitat antworten Zitat
Benutzerbild von Garfield
Garfield

 
Delphi XE5 Professional
 
#3
  Alt 15. Sep 2007, 21:10
http://fastcode.sourceforge.net/
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#4
  Alt 15. Sep 2007, 21:42
Werden dadurch mit Delphi erstellte Programme schneller gestartet oder was bringt diese Unit in einem Programm für Vorteile?
Michael
  Mit Zitat antworten Zitat
jbg

 
Delphi 10.1 Berlin Professional
 
#5
  Alt 15. Sep 2007, 21:50
Ob sie schneller starten, wage ich zu bezweifeln, weil das ja IDE spezifische Optimierungen sind. Aber die eigenen Programme werden ein klein wenig schneller. Vor allem die String-Vergleiche mit "if S <> 'str' then" oder "if S = 'str' then" gehen um einiges schneller, da keine kleiner oder größer Information beim Vergleich ermittelt werden muss.

Auch die TList/TObjectList wird durch die Unit stark beschleunigt. Dynamische/Message Methoden werden schneller aufgerufen. Zwar immernoch langsamer als virtuelle, aber bis zu 8 mal so schnell als vorher. Und noch einiges mehr.

Mit FastCode kombiniert ergibt das einen größeren Geschwindigkeitsschub.
Andreas aka AHUser aka jbg
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

 
Delphi 2006 Professional
 
#6
  Alt 15. Sep 2007, 21:53
Das ist natürlich ein Wort. Für normale Anwendungen wird es sich wahrscheinlich nicht lohnen aber für Parser wäre es bestimmt interessant.
Michael
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

 
Delphi 10.4 Sydney
 
#7
  Alt 15. Sep 2007, 23:15
Zitat von jbg:
Ob sie schneller starten, wage ich zu bezweifeln, weil das ja IDE spezifische Optimierungen sind. Aber die eigenen Programme werden ein klein wenig schneller. Vor allem die String-Vergleiche mit "if S <> 'str' then" oder "if S = 'str' then" gehen um einiges schneller, da keine kleiner oder größer Information beim Vergleich ermittelt werden muss.
Da könnte ich bei unserer SW schon ein paar Bottlenecks entschärfen.
Mal schauen ob ich in den nächsten Wochen ein paar "ruhige" Stunden finde ...
  Mit Zitat antworten Zitat
jbg

 
Delphi 10.1 Berlin Professional
 
#8
  Alt 15. Sep 2007, 23:32
Naja, das mit den "if S <> 'str' then", "if S = 'str'" spürt man hauptsächlich bei Delphi 5 bis 2006. Ab Delphi 2007 ist bereits eine schnellere String-Vergleichsfunktion eingebaut, wo das Equal, NotEqual fast nichts mehr herausholen kann.
Andreas aka AHUser aka jbg
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

 
Delphi 10.4 Sydney
 
#9
  Alt 16. Sep 2007, 08:33
Zitat von jbg:
Naja, das mit den "if S <> 'str' then", "if S = 'str'" spürt man hauptsächlich bei Delphi 5 bis 2006. Ab Delphi 2007 ist bereits eine schnellere String-Vergleichsfunktion eingebaut, wo das Equal, NotEqual fast nichts mehr herausholen kann.
Hab noch D6 im Haupteinsatz
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

 
Delphi XE2 Professional
 
#10
  Alt 16. Sep 2007, 13:16
LOL,

Ich schreib grad zufällig nen Parser für meinen Raytracer .

Diese Unit kommt mir daher mehr als nur gelegen.

Sehe ich das Richtig mit Einbinden meinst du das in etwa so :

Delphi-Quellcode:

Program Simple_Ray;

Uses
  // Bewirkt das die Sringvergleiche deutlich schneller werden.
  RtlVclOptimize,
  Forms,
  unCommenter In '..\..\DatenSteuerung\Tokenizer\UnCommenter.pas',
  Tokenizer In '..\..\DatenSteuerung\Tokenizer\Tokenizer.pas',
  Unit1 In 'Unit1.pas{Form1},
  Raytracer In 'Raytracer.pas',
  Raytracer_Math In 'Raytracer_Math.pas',
  RayParser In 'RayParser.pas',
  Unit2 In 'Unit2.pas{Form2};

{$R *.RES}

Begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.CreateForm(TForm2, Form2);
  Application.Run;
End.
Hab das zumindest nu mal so gemacht.

Ich nutze Delphi 5 und normalerweise sind in der unit Links dann lauter blaue Punkte ( überall bei dem Code den er Nutzt ).

Nach dem Compilieren des Projects sind in der RtlVclOptimize unit aber keine Blauen Punkte.

Tut ads dann Trotzdem ?
Uwe
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 5  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz