AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Stringlänge parsen

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

Registriert seit: 15. Mär 2007
4.176 Beiträge
 
Delphi 12 Athens
 
#1

AW: Stringlänge parsen

  Alt 4. Sep 2017, 19:20
Ich bin wahrscheinlich schon OffTopic weil ich das Problem falsch verstehe,
oder dieser Vorschlag steht hier schonmal irgendwo im Thread:

Aber du könntest die Strings einmalig beim Erzeugen parsen und die Längen und was auch immer separat verwalten, z.B. als Liste oder Array, o.ä.
Damit könntest du die Länge relativ schnell über das Array finden.

Mal so hingeschrieben, ohne Test und Sicherheitsabfragen.
Delphi-Quellcode:
  intMax := SucheMaxLänge(intStart, intAnzahl);

function SucheMaxLänge(intStart, intAnzahl) : Integer;
begin
   Result := 0;

   while intAnzahl > 0 do
   begin
     if FLenArray[intStart+IntAnzahl] > Result then
        Result := FLenArray[intStart+IntAnzahl];
     Dec(intAnzahl);
   end;
end;
Dazu müsste aber das Array immer mit der Stringliste synchron laufen, ein Insert, Delete, etc. wenn du das gewährleisten kannst.

Rollo
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Stringlänge parsen

  Alt 4. Sep 2017, 19:26
Theoretisch ist das machbar praktisch leider nicht weil sich die Menüs immer ändern dynamisch.
Irgendwelche Strings im Speicher halten würde also nicht viel bringen.

Bei jeden neuen Film sieht das anders aus.

gruss
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.176 Beiträge
 
Delphi 12 Athens
 
#3

AW: Stringlänge parsen

  Alt 4. Sep 2017, 19:37
Nur die Längen im Speicher halten ...
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Stringlänge parsen

  Alt 4. Sep 2017, 22:38
Hallo,
gibt es hier überhaupt ein Performance-Problem,
oder ist es eine theoretische Diskussion?

"Minimal-Bsp." bitte, was das Problem zeigt.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

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

AW: Stringlänge parsen

  Alt 5. Sep 2017, 07:53
gibt es hier überhaupt ein Performance-Problem,
:- ) Ich versuch mir grad den Performancegewinn vorzustellen, den man erzielen könnte, wenn man die Ermittlung des längsten Strings aus 30 optimieren könnte.

Echt jetzt?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Stringlänge parsen

  Alt 5. Sep 2017, 08:02
gibt es hier überhaupt ein Performance-Problem,
:- ) Ich versuch mir grad den Performancegewinn vorzustellen, den man erzielen könnte, wenn man die Ermittlung des längsten Strings aus 30 optimieren könnte.

Echt jetzt?
Dir ist aber schon klar das es hier um die Gesamtsumme geht Oder?
Ein Window besteht nicht nur aus einen leeren Rahmen.
Wenn ich also ein Menu selbst erstellen will gehört da eine menge mehr zu.

Es fängt damit an das ich die weite und höhe eines Fensters exakt ermitteln muss um meine items überhaupt passend darauf zu zeichnen.
Wenn man hier schon anfängt zu schludern dann erhöht sich die Performance sehr schnell vor allem dann wenn man ein Fenster in Millisekunden Bereich
100fach öffnen und schließen muss mit allen seinen Eigenschaften und Controls die sich darauf befinden.


gruss

Geändert von EWeiss ( 5. Sep 2017 um 08:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von TigerLilly
TigerLilly

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

AW: Stringlänge parsen

  Alt 5. Sep 2017, 08:14
Du weißt besser, was dein Code macht + was du erreichen möchtest.

Ich bin überzeugt, wenn solche Mikrooptimierungen (hatten wir in einem anderen Thread schon mal) notwendig sind, hat es ein viel grundlegenderes Problem. Für mich ist sowas immer ein Alarmzeichen und ein Hinweis auf ein Strukturproblem.
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Stringlänge parsen

  Alt 5. Sep 2017, 09:35
Du merkst schon, dass du dir laufend selbst widersprichst, oder?

Da ist sauberes Programmieren nicht so wild:
mag ja sein das ich ein zwei Sachen nicht initialisiert habe.. meine Regel ist solange der Compiler nicht meckert kompiliert
und alles rund läuft sollte das schon gut sein.
Dort muss aber jede Mikrosekunde rausoptimiert werden, beim Anzeigen von Menüs, die vielleicht 50 (?) Einträge haben? Ernsthaft?

Wenn man hier schon anfängt zu schludern dann erhöht sich die Performance sehr schnell vor allem dann wenn man ein Fenster in Millisekunden Bereich
100fach öffnen und schließen muss mit allen seinen Eigenschaften und Controls die sich darauf befinden.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:53 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