AGB  ·  Datenschutz  ·  Impressum  







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

Effizientes extrahieren von Resourcen

Ein Thema von MartinK · begonnen am 5. Okt 2020 · letzter Beitrag vom 6. Okt 2020
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#1

AW: Effizientes extrahieren von Resourcen

  Alt 6. Okt 2020, 09:36
Format verbraucht nicht so viel Zeit, wie man denken könnte, da es intern mit einem statischen Buffer auf dem Stack arbeitet.
Viel weniger arbeit mit der Speicherverwaltung, aber dafür eine begrenze Länge. (bei unter 4096 Chars, bzw. im Android unter 512 Chars)

Da wäre es ne Millisekunde effektiver auch noch den ersten/anderen String in den Formatstring zu verschieben und so noch zwei große String-Operationen einzusparen.


Aber gegen das das ganze Gerödel, mit den Bitmaps, ist das garnichts.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 6. Okt 2020 um 09:42 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.359 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Effizientes extrahieren von Resourcen

  Alt 6. Okt 2020, 10:24
Aber gegen das das ganze Gerödel, mit den Bitmaps, ist das garnichts.
Kann durchaus sein, dass mit neueren Delphi - Versionen auch Format() optimiert wurde.

Ich hatte damals (XE 6) vor dem Öffnen einer Query eine Schleife über Fields und dort jeweils 1 Format().
Ich kann mich erinnern, dass das Öffnen der Query lange dauerte.
Nachdem ich das Format('irgendwas %s', ['nochwas']) gegen 'irgendwas ' + 'nochwas' getauscht hatte, war alles schick.

Ist halt in meinem Hirn manifestiert: In Schleifen -> vermeide Format()

Frank
Frank Reim
  Mit Zitat antworten Zitat
MartinK

Registriert seit: 21. Jun 2009
Ort: Germering (Germany)
89 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#3

AW: Effizientes extrahieren von Resourcen

  Alt 6. Okt 2020, 19:26
1000 Dank für die vielen guten Hinweise.
ich habe das daraufhin jetzt mal mit gettickcount "ausgemessen".


Resultat:
- weder das von mir vermutete "LoadFromResourceName" NOCH "Format" benötigen namhaft Resourcen.
Beide erledigen ihren Job innerhalb einer ms !
- Übeltäter ist eine (im obrigen Sourcecode von mir nicht erwähnte aber bei manchen Resourcen verwendete) weitere Routine
welche mir die Bitmaps auf eine kleinere Version mit weniger Pixeln "runterskaliert"


WOW, darauf wäre ich im Leben nicht gekommen.
Das zeigt mal wieder wie wertvoll solche Forenantworten sein können

vG Martin
Martin Kuhn
  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 02:03 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