AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringlänge parsen

Ein Thema von EWeiss · begonnen am 4. Sep 2017 · letzter Beitrag vom 7. Sep 2017
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.437 Beiträge
 
Delphi 12 Athens
 
#1

AW: Stringlänge parsen

  Alt 5. Sep 2017, 08:47
[OT]
Ich hole mal das Popcorn...
[/OT]
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.074 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Stringlänge parsen

  Alt 5. Sep 2017, 08:57
Auch wenn ich auch glaube, dass hier am falschen Ende gespart wird, möchte ich nochmal auf meinen Beitrag #20 zurückkommen.
http://www.delphipraxis.net/1380280-post20.html

Hier zeige ich im Screenshot explizit die Funktionsaufrufe, die am meisten Zeit benötigen.
Da kann man dann anfangen zu optimieren, indem man nicht für jeden String die ganzen Objekte neu erstellt, sondern nur einmalig und damit die größte Breite ermittelt.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#3

AW: Stringlänge parsen

  Alt 5. Sep 2017, 09:05
Auch wenn ich auch glaube, dass hier am falschen Ende gespart wird, möchte ich nochmal auf meinen Beitrag #20 zurückkommen.
http://www.delphipraxis.net/1380280-post20.html

Hier zeige ich im Screenshot explizit die Funktionsaufrufe, die am meisten Zeit benötigen.
Da kann man dann anfangen zu optimieren, indem man nicht für jeden String die ganzen Objekte neu erstellt, sondern nur einmalig und damit die größte Breite ermittelt.
Dein Code Beispiel werde ich auch beherzigen und meinen Ansprüchen gerecht umsetzen.
Danke nochmal für den Ansatz.

gruss
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.074 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Stringlänge parsen

  Alt 5. Sep 2017, 09:09
Dein Code Beispiel werde ich auch beherzigen und meinen Ansprüchen gerecht umsetzen.
Danke nochmal für den Ansatz.
Du musst einfach viel mehr Sachen (zwischen)merken.
Auch der zweifache Aufruf von GetDesktopWindow ist ja Quatsch, das ändert sich ja innerhalb der beiden Aufrufe nicht.
Das kannst du auch zwischenspeichern.
Wahrscheinlich musst du darauf nicht mal GetDC holen, weil du das davor wahrscheinlich schon drölf mal machst.
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

Registriert seit: 24. Mai 2017
Ort: Wien, Österreich
1.241 Beiträge
 
Delphi 12 Athens
 
#5

AW: Stringlänge parsen

  Alt 5. Sep 2017, 09:36
TiGü gibt ja schon gute Tipps. Optimieren hat erst Sinn, wenn man weiß, wo die Zeit tatsächlich liegen bleibt. Worauf ich hinauswill, ist, dass es meist mehr bringt, Dinge grundsätzlich umzubauen.

Ich sehe im Code zB einen try/finally Block. Wenn es gelingt, den wegzulassen oder außerhalb einer Schleife in der aufrufenden Methode zu platzieren, dann hast du viel mehr gewonnen, als das Optimieren der Länge-suchen.

Kandidaten für´s Optimieren sind in dieser Reihenfolge:
1) Schleifen
2) try/finally/except
3) Lese/Schreiboperationen/Datenbankzugriffe
4) Prozeduraufrufe

Änderungen hier betreffen meist größere Codeblöcke --> Presslufthammer
  Mit Zitat antworten Zitat
Antwort Antwort


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 19:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz