AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ini-Inhalt geht in sehr seltenen Fällen verloren (TMemIniFile)
Thema durchsuchen
Ansicht
Themen-Optionen

Ini-Inhalt geht in sehr seltenen Fällen verloren (TMemIniFile)

Ein Thema von CodeX · begonnen am 8. Jan 2016 · letzter Beitrag vom 12. Jan 2016
 
nahpets
(Gast)

n/a Beiträge
 
#24

AW: Ini-Inhalt geht in sehr seltenen Fällen verloren (TMemIniFile)

  Alt 12. Jan 2016, 10:53
Ehrlich gesagt finde ich die Diskussion über die Geschwindigkeit langsam absurd:

Wenn es um's Messen der Schreibgeschwindigkeit geht, dann bitte auch nur das Schreiben messen:
Delphi-Quellcode:
var
  ini : TMemIniFile;
  i : Integer;
  dtStart : TDateTime;
  dtEnde : TDateTime;
begin
  ini := TMemIniFile.Create(txtFileName.Text);
  try
    for i := 0 to rbgValues.Tag-1 do
     ini.WriteString(txtSection.Text+IntToStr(i), txtIdent.Text+IntToStr(i), RandomPassword(30));
    dtStart := Now;
    ini.UpdateFile;
    dtEnde := Now;
  finally
    ini.Free;
  end;
    // Hier bitte die Startzeit von der Endezeit abziehen und nicht andersherum.
    // Sonst bekommt man eine negative Zeit, der man einfach das Vorzeichen nimmt und dann suggeriert, man habe eine positive Zeitdifferenz ;-)
    memLog.Lines.Add('MEM (' + IntToStr(rbgValues.Tag) +'): '+FormatDateTime('ss.zzz',dtEnde - dtStart)+'sec');
Hieraus kann ich nicht entnehmen, dass hier irgendwas ein vielfaches von was anderem dauert:
Code:
-> In der Ausgangslage ist keine Ini-Datei vorhanden
MEM (1000): 00:163sec
MEM (1000): 00:035sec
MEM (1000): 00:024sec
MEM (1000): 00:033sec
-> Hier Ini-Datei gelöscht
MEM (1000): 00:161sec
MEM (1000): 00:023sec
MEM (1000): 00:015sec
MEM (1000): 00:021sec
Beim Ersten gibt es eine Durchschnittszeit von 63,75 ms, beim Zweiten sind es 55 ms.

Auf olympische Wettkämpfe übertragen ergibt das (gerundet) einen Unterschied von 9 hunderstel Sekunden zwischen dem Sieger und dem Zweitplazierten.

Mir scheint, dass dann, wenn eine INI-Datei vorhanden ist, alles "wesentlich" schneller zu sein, als wenn keine INI-Datei vorhanden wäre.

Diese Zeitunteschiede können schon allein dadurch entstehen, dass beim Schreiben der Schreibkopf der Platte zufällig an eine anderen Position war.

Betrachtet man die jeweils ersten Messungen Deiner Messreihen, so beträgt die Zeitdifferenz immerhin immense 2 tausendstel Sekunden.
Ausserdem kann man an den Werten der Messreihen erkennen, dass nach der ersten Messung der Cache sehr stark "zuschlägt". Wann die Daten letztlich physikalisch auf der Platte landen, läßt sich durch Deine Messungen nicht feststellen.

Die Zeitunterschiede, die Du gemessen hast, sind bereits durch die möglichen Differenzen, die sich aus der durchschnittlichen Zugriffszeit der Festplatte ergeben können, vollständig erklärbar.

Schreibst Du da eigentlich ein Programm, das eine Echtzeitverarbeitung durchführt oder eine Anwendung für einen Anwender, der einfach damit arbeiten soll?

Beim Ersteren mögen Deine Bedenken eventuell noch nachvollziehbar sein, beim Zweiten halten ich sie für absolut übertrieben.

Die Zeitunterschiede sind so kurz, dass Du sie als Anwender nicht bemerken kannst. Das menschliche Wahrnehmungsvermögen ist für so kurze Zeitdifferenzen nicht geeignet.
  Mit Zitat antworten Zitat
 


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 04:17 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