AGB  ·  Datenschutz  ·  Impressum  







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

Delphi XE3?

Ein Thema von greenmile · begonnen am 9. Mär 2012 · letzter Beitrag vom 11. Dez 2012
Antwort Antwort
Seite 1 von 2  1 2      
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#1

AW: Delphi XE3?

  Alt 4. Sep 2012, 09:17
Hier die Antwort zum offenen Geschwindigkeitstest:

Gegeben war eine leere Form (ohne Zusatz-Design) mit einer Listbox und einem Button. Beim Klick auf den Button wurde die Listbox geleert und anschließend mit 1000 Einträgen befüllt. Das Projekt wurde dann einmal mit XE2 und mit XE3 compiliert, anschließend auf einem MacBook Pro (2.4 Ghz i5, 4 GByte Speicher und LEIDER Lion) gestartet. Die Ergebnisse können sich sehen lassen:

- XE2: Ohne "Begin-/EndUpdate" ca 40 Sekunden
- XE2: Mit "Begin-/EndUpdate" ca 4 Sekunden
- Drag&Drop in Listbox ohne Funktion
- Button bleibt beim Größer ziehen da wo er war (keine Anchors)
- Beim Start sieht man für einen kurzen Moment (200 Msek?) eine leere Form, bevor die Controls sichtbar sind
- Aufruf einer TForm3D-Unterform dauert ca 4 Sekunden

- XE3: Ohne "Begin-/EndUpdate" ca 6 Sekunden
- XE3: Mit "Begin-/EndUpdate" <= 1 Sekunden
- Drag&Drop in Listbox funktioniert korrekt
- Button wandert beim Größer ziehen mit (mit Anchors)
- Beim Start sich die Controls sofort sichtbar
- Aufruf einer TForm3D-Unterform <= 1 Sekunden

Ich denke, damit ist die Performance-Frage geklärt.

Geändert von greenmile ( 4. Sep 2012 um 09:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#2

AW: Delphi XE3?

  Alt 4. Sep 2012, 09:24
Ich denke, damit ist die Performance-Frage geklärt.
Danke für den Kurztest
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: Delphi XE3?

  Alt 4. Sep 2012, 09:39
Ich denke, damit ist die Performance-Frage geklärt.
Danke für den Kurztest
Hatte noch zwei wichtige Punkte vergessen:

XE2:
- Beim Start sieht man für einen kurzen Moment (<= 200 Msek?) eine leere Form, bevor die Controls sichtbar sind
- Aufruf einer TForm3D-Unterform dauert ca 4 Sekunden

XE3:
- Beim Start sich die Controls sofort sichtbar
- Aufruf einer TForm3D-Unterform <= 1 Sekunden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Delphi XE3?

  Alt 4. Sep 2012, 10:53
Es gibt auch ein interessantes neues Sprachfeature in XE3: Record Helpers. Anders wie der Name suggeriert funktionieren diese aber auch für elementar Typen wie Strings, Integer, Arrays, Sets, ...

https://forums.embarcadero.com/threa...76400&tstart=0

program TestHelper;

Delphi-Quellcode:
{$APPTYPE CONSOLE}

uses
  System.SysUtils;

type
  TStringHelper = record helper for String
    function Length: Integer;
    function ToInt: Integer;
  end;

  TIntegerHelper = record helper for Integer
    function ToString: String;
  end;

function TStringHelper.Length: Integer;
begin
  Result := System.Length(Self);
end;

function TStringHelper.ToInt: Integer;
begin
   Result := StrToIntDef( self, 0);
end;

function TIntegerHelper.ToString;
begin
  Result := IntToStr( self);
end;

var
  S, s2: string;
  I: Integer;
begin
  S := 'Test String';
  s2 := '125';
  Writeln(S, ', length: ', S.Length);
  Writeln(S2, ', ToInt: ', S2.ToInt);
  i := 167;
  s2 := i.ToString;
  Writeln(S2);
  ReadLn;
end.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.222 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Delphi XE3?

  Alt 4. Sep 2012, 11:14
Es gibt auch ein interessantes neues Sprachfeature in XE3: Record Helpers. Anders wie der Name suggeriert funktionieren diese aber auch für elementar Typen wie Strings, Integer, Arrays, Sets, ..
Damit hätten wir Auch Skalare als "Objekte" ohne die Nachteile die eine Objektverwendung mit sich bringen könnte.
Mal schauen ob das auch wirklich 100%ig funktioniert ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Delphi XE3?

  Alt 4. Sep 2012, 11:57
Das ist geil ... hab ich mir schon immer gewünscht.


Jetzt fehlen nur noch die 3 fehlenden Operatoren, welche ich mir auch noch wünsche
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Delphi XE3?

  Alt 4. Sep 2012, 11:57
Das ist geil ... hab ich mir schon immer gewünscht.


Jetzt fehlen nur noch die 3 fehlenden Operatoren, welche ich mir auch noch wünsche
Welche?
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau

Registriert seit: 1. Dez 2004
Ort: Köln
1.307 Beiträge
 
Delphi 12 Athens
 
#8

AW: Delphi XE3?

  Alt 4. Sep 2012, 12:06
Es gibt auch ein interessantes neues Sprachfeature in XE3: Record Helpers.
  s2 := i.ToString;
Ich vergleiche mal:

Delphi-Quellcode:
s2 := i.toString;
s2 := inttostr(i):
Sehe nicht direkt den Vorteil.
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.874 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Delphi XE3?

  Alt 4. Sep 2012, 12:18
Es gibt auch ein interessantes neues Sprachfeature in XE3: Record Helpers.
  s2 := i.ToString;
Ich vergleiche mal:

Delphi-Quellcode:
s2 := i.toString;
s2 := inttostr(i):
Sehe nicht direkt den Vorteil.
1. Es ist besser lesabr, da die Leserichtung stimmt.
2. Es können ja kompliziertere Implementierungen dahinterstecken
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#10

AW: Delphi XE3?

  Alt 4. Sep 2012, 12:39
1. Es ist besser lesbar, da die Leserichtung stimmt.
Nicht nur wegen der Leserichtung, es macht auch die Parameter verständlicher. Methoden mit nur einem Argument sind viel einfacher zu durchschauen.
Delphi-Quellcode:
var i,j: integer;
// Welche Variante ist auf Anhieb verständlich?
setBit(i,j);
i.setBit(j);
Ein cooles neues Feature
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:48 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