AGB  ·  Datenschutz  ·  Impressum  







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

.net-Strategie von Microsoft (?)

Ein Thema von bodenheim · begonnen am 13. Mär 2008 · letzter Beitrag vom 14. Mär 2008
 
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#28

Re: .net-Strategie von Microsoft (?)

  Alt 14. Mär 2008, 00:35
Zitat von Bernhard Geyer:
Ich hatte mir auch mal 4-5 Vergleiche zusammen gestellt und da war C# um ca. 60-%80% schneller. Und ich wollte eigentlich das Gegenteil beweisen.
Das Problem dabei ist immer die versteckte Compiler Magic und auch die zu Grunde liegende Architektur der Datentypen. Eine String-Zuweisung in .NET ist schneller als eine in Delphi, da Strings in .NET nicht Referenz gezählt sind und somit nicht threadsicher gemacht werden müssen. Ein Verändern von Strings ist in .NET aber sehr zeit spielig, da Strings nur einmal im Speicher existieren und somit ein neuer String angelegt werden muss (dafür gibt es ja die StringBuilder Klasse um diesen Nachteil auszubügeln).
Was aber auch noch zum Tragen kommt sind die vielen Bereichsüberschreitungs-Checks, die in Delphi standardmäßig abgeschaltet sind. So ist ein
Code:
string S = "Hallo";
for (int i = 0; i < S.Length; i++)
  ch = S[i];
in C# langsamer als der entsprechende Delphi.Win32 Code, da der entsprechende Indexer den angegeben Index i bei jedem Schleifendurchlauf prüft. (Übrigens die foreach Schleife meide ich mittlerweile des öfteren in C#, da bei Millionen Aufrufen einer Methode mit einer solchen Schleife, die Enumerator-Verwaltung ganz schön zu Buche schlägt.)

Bei vorgefertigten Algorithmen ist .NET wieder klar im Vorteil, weil Delphi da einfach zu wenig bietet, außer man holt sich ein 3rdParty Produkt, dass dann aber meist nur die Funktionalität ohne entsprechende Optimierung aufweist.

Das Fazit ist, dass man in jeder Sprache Code fabrizieren kann der langsamer ist als in einer anderen Sprache. Das fängt eben schon bei den Framework- und Platformgegebenheiten an und hört bei sprachlichen Elementen noch lange nicht auf.
  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 21:10 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