Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   KodeZwergs TIniHelper Klasse (https://www.delphipraxis.net/198462-kodezwergs-tinihelper-klasse.html)

DieDolly 17. Nov 2018 16:08

AW: KodeZwergs TIniHelper Klasse
 
Zitat:

Kannst du das irgendwie belegen oder ist das nur ein Vorurteil?
Kann ich belegen. Habe selber viele Tests gemacht und bin danach von den Delphi-Units weg.

Uwe Raabe 17. Nov 2018 16:12

AW: KodeZwergs TIniHelper Klasse
 
Delphi-Quellcode:
program Project445;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils,
  System.NetEncoding,
  System.Diagnostics,
  IdCoderMIME,
  IdGlobal;

var
  Value: TBytes = nil;
  Indies: TIdBytes = nil;

function Net: string;
begin
  Result := TNetEncoding.Base64.EncodeBytesToString(Value);
end;

function Indy: string;
var
  Encoder: TIdEncoderMIME;
begin
  Encoder := TIdEncoderMIME.Create(nil);
  try
    Result := Encoder.EncodeBytes(Indies);
  finally
    Encoder.Free;
  end;
end;

procedure InitValue;
var
  I: Integer;
begin
  SetLength(Value, 10*1024);
  SetLength(Indies, 10*1024);
  for I := 0 to Length(Value) - 1 do begin
    Value[I] := Random(256);
    Indies[I] := Value[I];
  end;
end;

var
  sw: TStopWatch;
  I: Integer;
begin
  try
    InitValue;
    sw := TStopWatch.StartNew;
    for I := 1 to 100000 do
      Net;
    Writeln(sw.ElapsedMilliseconds);
    sw := TStopWatch.StartNew;
    for I := 1 to 100000 do
      Indy;
    Writeln(sw.ElapsedMilliseconds);
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
  Readln;
end.

EWeiss 17. Nov 2018 16:20

AW: KodeZwergs TIniHelper Klasse
 
Zitat:

Kann ich belegen. Habe selber viele Tests gemacht und bin danach von den Delphi-Units weg.
Zeige doch mal ein Beispiel wie das von Uwe so das man das vergleichen kann.
Das wäre innovativ.

gruss

DieDolly 17. Nov 2018 16:30

AW: KodeZwergs TIniHelper Klasse
 
Den Code habe ich schon seit Monaten nicht mehr. Und den jetzt extra wieder in das eine Projekt einbauen ist mir zu nervig.

Alter Mann 17. Nov 2018 16:33

AW: KodeZwergs TIniHelper Klasse
 
@EdAdvokat
Zitat:

ch denke mal in der unit iniHelper wird IniHelper deklariert und erhält seine Felder und Methoden
und in der unit1 wird mit IniHelper gewerkelt.
Ok, dann muss ich mal zum Optiker. Ich find da nichts was dies rechtfertigt.

KodeZwerg 17. Nov 2018 16:57

AW: KodeZwergs TIniHelper Klasse
 
Es tut mir leid das ich das vor mir hingeschoben habe.

In Post #1 ist ein Anwendungsbeispiel abgebildet wie ich es mir erhofft habe zu nutzen.

Da ja jetzt anscheinend doch irgendwie Interesse besteht, werde ich die Unit komplettieren.


Wenn mein Beispiel in #1 unverständlich sein sollte, bitte sagt mir Bescheid wie ich es gescheiter ausdrücken könnte.
Oder ich häng da mal eine Demo-Anwendung mit ran mit der ich das hier erbastelt habe.

Warum Base64 bei manchen eine AV auslöst kann ich momentan nicht beurteilen da bei mir mit D2010 und Tokyo beides schnurrt.

Ich rate dringend davon ab die einzelnen methoden aufzurufen, ich habe die nur drinnen gelassen weil es ein schnappschuss von meiner arbeit ist die ich noch in die Klasse prügeln möchte, poe á poe.


Herzliche Grüße.

Schokohase 17. Nov 2018 17:29

AW: KodeZwergs TIniHelper Klasse
 
@Uwe

sieht aus, als ob die Indy Variante tatsächlich schneller ist - wenigstens bei mir
Code:
xxxxx|Win32|Win64|
-----+-----+-----+
Net  | 8652| 3427|
Indy | 2859| 3073|

Uwe Raabe 17. Nov 2018 17:51

AW: KodeZwergs TIniHelper Klasse
 
Zitat:

Zitat von Schokohase (Beitrag 1418348)
@Uwe

sieht aus, als ob die Indy Variante tatsächlich schneller ist - wenigstens bei mir
Code:
xxxxx|Win32|Win64|
-----+-----+-----+
Net  | 8652| 3427|
Indy | 2859| 3073|


Also hier bekomme ich folgende Werte unter Delphi 10.2 Tokyo (Release ohne Debugger)
Code:
xxxxx|Win32|Win64|
-----+-----+-----+
Net  | 2768| 3614|
Indy | 2959| 3136|
"wesentlich schneller" sieht anders aus (vielleicht so ab Faktor 2-3).

DieDolly 17. Nov 2018 17:59

AW: KodeZwergs TIniHelper Klasse
 
Vergleicht das mal mit diesen Units. Mit denen wird es schneller
http://www.wolfgang-ehrhardt.de/crchash_en.html

Daniel 17. Nov 2018 18:21

AW: KodeZwergs TIniHelper Klasse
 
Wozu? Im Kontext dieser INI-Klasse wären jegliche Geschwindigkeits-Unteschiede nicht messbar. Da nimmt man doch lieber die Bordmittel.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 Uhr.
Seite 3 von 3     123   

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