AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Klatsch und Tratsch Wie schätzt Ihr die Weiterentwicklung von .NET ein?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie schätzt Ihr die Weiterentwicklung von .NET ein?

Ein Thema von MGC · begonnen am 18. Feb 2011 · letzter Beitrag vom 23. Feb 2011
Antwort Antwort
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#1

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 20:39
Ich gehe jede Wette ein, dass ich jedes Programm welches Insider2004 in Delphi schreibt, mindestens genauso performant, wenn nicht sogar performanter auf Basis von .NET implementieren kann. Voraussetzung ist, dass zum Vergleich die Sourcen offen liegen - und er sich überhaupt auf die Wette einlässt.
Wunderbar. Fehlt nur noch:
  • Lauffähig ab Windows 2000
  • Rechner muß mindestens 7 Jahre alt sein und darf nicht mehr als 512 MiB RAM und einen Einkernprozessor haben
  • Delphi 2009 oder neuer muß verwendet werden, damit kein unfairer Vorteil aufgrund der Nutzung von ANSI-Funktionen entsteht (die nur Wrapper um die Unicode-Funktionen und damit ein wenig langsamer sind)
  • Der gleiche Rechner wird zum Test beider Programme benutzt und frisch vor jedem Testlauf gebootet

Noch dabei?

Oder wolltest du mit deiner Aussage nur nachweisen, daß der durch Caching, Mehrkernprozessoren, mehr billigen RAM und diverse andere Entwicklungen der jüngsten Vergangenheit stärker herausgearbeitete Flaschenhals des Festplattenzugriffs der eigentlich begrenzende Faktor ist und das native Programm auf einer neueren Architektur irgendwann nur nicht mehr fühlbar schneller läuft?

Setzen wir doch einfach mal realitätsnahe Bedingungen für den Test an. Außer Entwicklern und Spielern haben viele nämlich noch immer alte PCs. Auch Windows 2000 ist noch verbreitet, wenn uns Entwicklern das auch nicht so lieb sein kann ...

Übrigens, du hast auch nicht gesagt welche .NET-Version zum Einsatz kommen soll! Ich habe das versucht in obige Bedingungen einfließen zu lassen - Windows 2000 sollte hier hinreichend einschränkend wirken.

Akzeptabel?

Nachtrag:
Wenn's man richtig macht dann hat man in managed Umgebungen keine Performance oder Ressourcenprobleme.
Basierend auf welcher Rechnerspezifikation? Mindestanforderungen für, sagen wir, Windows Vista?

Wem die Tricks mit verzögertem Laden des .NET Caches usw. nicht bewußt ist, der braucht nur auf einem XP oder 2003 ein .NET-Programm direkt nach dem Hochfahren zu starten ... und zu waaaarten. Aber ist schon toll, wie dieser Trick immer wieder in den Augen des Publikums funktioniert. Ging bei MS Office auch jahrelang. Bis OOo einen "Schnellstarter" nachgerüstet hat. Bei MS Office war der nur schon seit Jahren drin, so daß die eigentliche Arbeit schon getan war, als der Benutzer glaubte das Programm zu "starten" (welches zu großen Teilen längst im Speicher war).

Und wenn ich die entsprechenden Dienste deaktiviere, sieht es auch nicht mehr so rosig aus. Nur weil in Vista und 7 diese Caches nicht mehr abschaltbar sind, berührt das noch nicht die Gültigkeit der Aussage daß - und hier ist es wo offenbar Phoenix und Insider2004 Äpfel mit Birnen vergleichen - .NET bei eingeschränkter Verfügbarkeit von RAM und CPU immer (auch fühlbar) langsamer sein wird.

Ich nehme nämlich mal ganz stark an, daß Phoenix hier sehr schnell zurückrudern würde, wenn seine Wette eben mit den o.g. Bedingungen versehen wäre. Dann ist nämlich nicht die Festplatte der gemeinsame begrenzende Faktor, wie dies bei modernen Systemen meistens der Fall ist, sondern der Speicher und die CPU ...
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)

Geändert von Assarbad (19. Feb 2011 um 21:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.645 Beiträge
 
#2

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 21:18
@Oliver: Nein. Bereits Mitte 2008 war der Marktanteil von Windows 2000 bei 2,25 %. Ende letzten Jahres taucht es schon gar nicht mehr in der Auflistung der Marktanteile auf. Mit Windows XP kann ich leben, und ob nun ein- oder Mehrkernprozessor ist mir persönlich schnuppe, und auch auf 1/2 GB ram kann ich arbeiten, wobei ich der Meinung bin dass es solche Sachen im Consumer-Markt nicht mehr gibt. 2 sind wahrscheinlich schon eher Standard.

Mir geht es zudem nicht um fühlbare, sondern um faktisch messbare Performance. Von mir aus darf auch gerne jeder für sich festlegen, wo die Performance gemessen wird.

@Thom: Mein Brötchengeber hat keine Software die Verkauft wird, sondern ist ein Dienstleister, für den ich in der R&D Abteilung arbeite. Meine Tätigkeit bei RO ist eine kleine Nebentätigkeit, der ich just for Fun nachgehe um damit ein bisschen nebenher zu verdienen. Meine Begeisterung für .NET ist rein persönlicher Natur, weil ich von der Leistungsfähigkeit der Plattform für uns Entwickler durch eigene Erfahrung massiv begeistert bin. Und da ich als alteingessener Delphianer noch ein wenig dem Object Pascal nachhänge und eh regelmäßig auf Konferenzen unterwegs war hat sich das einfach angeboten.

@Insider: Dass Du Dich darauf nicht einlassen willst ist mir klar. Nur ein "Ich behaupte es, also ist es so" lasse ich nicht gelten.
Die .NET Plattform ist eine vom System bereitgestellte Laufzeitumgebung, genauso wie die Delphi RTL eine einkompilierte Laufzeitschicht ist. Wieso eines von beiden schneller oder langsamer sein soll ist mir unklar. .NET hat gegenüber einem vollständigen nativem Kompilat den Vorteil, dass es aus einem Vorkompilat erst auf dem eigentlichen Zielsystem ein für genau dieses System optimiertes Endkompilat erzeugt welches letztlich auch in nativem Code resultiert und als solcher ausgeführt wird. Warum sollte ein für ein Zielsystem optimiertes Kompilat langsamer sein, als ein Einheitsbrei-Zeug in One-fits-it-all Size?

Ich fordere Dich auf Deine Aussage dass .NET Code langsamer sei entweder nachvollziehbar und nachmessbar zu beweisen, oder endlich aufzuhören solche Märchen zu erzählen, die jeglicher logischer (und vor allem wissenschaftlicher) Grundlage entbehren.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#3

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 21:49
@Oliver: Nein. Bereits Mitte 2008 war der Marktanteil von Windows 2000 bei 2,25 %. Ende letzten Jahres taucht es schon gar nicht mehr in der Auflistung der Marktanteile auf.
Wow. Ich merke ihr entwickelt für ein komplett anderes Marktsegment. Wenn bei uns ein großer Kunde sagt daß sie gern eine Lösung für's komplette Netzwerk hätten und dort Windows 2000 das Ausschlußkriterium auf unserer Seite wäre, dann wäre das Geschrei aber groß. Ja, wenn bei insgesamt 2000 Rechnern zwei dabei sind die Windows 2000 haben, dann wäre dies genug unserer Produkt nicht zu nehmen.

Und Statistiken glaube ich ohnehin nur wenn ich sie selber fälschen dufte.

Mit Windows XP kann ich leben, und ob nun ein- oder Mehrkernprozessor ist mir persönlich schnuppe, und auch auf 1/2 GB ram kann ich arbeiten, wobei ich der Meinung bin dass es solche Sachen im Consumer-Markt nicht mehr gibt. 2 sind wahrscheinlich schon eher Standard.
Bei neuen Rechnern ganz sicher. Und genau darauf wollte ich hinaus.

Mir geht es zudem nicht um fühlbare, sondern um faktisch messbare Performance. Von mir aus darf auch gerne jeder für sich festlegen, wo die Performance gemessen wird.
Sobald sie fühlbar wird, ist sie einfach auch ohne Profiler objektiv meßbar. Nicht mehr und nicht weniger war in dieser Aussage enthalten.

Die .NET Plattform ist eine vom System bereitgestellte Laufzeitumgebung, genauso wie die Delphi RTL eine einkompilierte Laufzeitschicht ist.
Irrtum. Das ist sie erst seit Windows Vista. Wenn du dich so intensiv damit beschäftigt hast, sollte dir dies bewußt sein.

Wieso eines von beiden schneller oder langsamer sein soll ist mir unklar.
Mehr Abstraktion, weniger Abstraktion ... eigentlich mit der von dir zitierten Logik einfach zu begreifen

.NET hat gegenüber einem vollständigen nativem Kompilat den Vorteil, dass es aus einem Vorkompilat erst auf dem eigentlichen Zielsystem ein für genau dieses System optimiertes Endkompilat erzeugt welches letztlich auch in nativem Code resultiert und als solcher ausgeführt wird. Warum sollte ein für ein Zielsystem optimiertes Kompilat langsamer sein, als ein Einheitsbrei-Zeug in One-fits-it-all Size?
Hohoho. Jetzt mal langsam. Entweder wir reden hier von nativen Anwendungen oder wir reden von Delphi-Anwendungen. Leg dich mal fest.

Es gibt genügend Compiler die in der Lage sind sehr gut optimierten Code zu erzeugen. Es gibt sogar "CPU-Weichen" in derlei optimiertem Code. Einfach mal nen Disassembler zur Hand nehmen und selber gucken ...

Wenn Delphi das alles nicht so perfekt beherrscht, ist dies noch kein Argument für deine Behauptung

Ja, diese Rahmenbedingungen sind die sogenannten Application Domains, die es in .NET gibt.
Stürzt ein .NET Programm ab, betrifft das nur die einzelne Application Domain, in der es läuft. Natürlich kann man mehrere Applications in einer Domain laufen lassen, aber man kann sie auch isolieren.
Was aber nichts mit Systemabstürzen zu tun hat, denn dazu existieren ganz andere Mechanismen für die man sich ein wenig mit dem Windows-Kernel beschäftigen sollte.

Wenn ich unfair wäre, würde ich noch schnell ein paar der Mechanismen erwähnen, die dann greifen wenn das System wenig Speicher hat. Und daß das .NET Fx dafür der Grund sein könnte, würde ich dann ganz unschuldig anfügen ...

Aber es geht uns ja hier darum die Wahrheit herauszuarbeiten ...

Ganz und gar nicht. Ich mag natives Delphi Aber ich kann es auf den Tot nicht ausstehen, wenn hier jemand so penetrant einen absoluten geistigen Dünnschiss von sich gibt, der beweisbar falsch ist. .NET ist nunmal nicht pauschal 5-10 mal langsamer als nativer Code.
Pauschale Aussagen sind immer Unsinn, aber die Kernaussage war, daß .NET-Code langsamer läuft. Und mit einem hinreichend genauen Profiler ließe sich dies auch nachweisen, nur kenne ich leider keinen Profiler der die .NET-VM als das betrachtet was sie ist und bei dem man dann die Messungen absolut auf gleicher Ebene (nämlich Win32) durchführen könnte. Nur damit ließen sich derlei Aussagen entkräften oder unterstützen.

Wobei eine Art Supervisor die Applicationen überwacht hat und gnadenlos rausgekickt hat, wenn sie sich nicht benehmen konnten.
Klingt ein wenig nach dem Microkernel-Prinzip.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von MGC
MGC

Registriert seit: 15. Mai 2008
Ort: Helsa
106 Beiträge
 
Turbo Delphi für Win32
 
#4

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 22:02
Also bei uns im Unternehmen stehen hauptsächlich Pentium 4, einige Pentium 3 und Celeron-Systeme. Die Dual- und Quad-Core stehen nur in den Büros der Unternehmensspitze, sowie bei den Admins. Die Server sind allerdings auf aktuellem technischen Stand. Bei einem Bundeslandweit verzweigtem Unternehmen kommen da schon einige Rechner zusammen.
Und bei mir zu Haus siehts momentan auch nicht so rosig aus (1 Pentium 4 mit XP Prof., 1 Celeron Lappy mit XP Home und 1 Celeron mit Win 2000). Ersteren hab eich mir mal vor einigen Jahren neu gekauft, zweiteren gebraucht und dritteren zu Testzwecken kostenlos abgegriffen. Immer wieder aktuell mit der Heimtechnik zu sein übersteigt ein wenig mein Budget, da ich schließlich auch noch ein wenig Geld für Familie und Hausbau ausgeben muss/möchte.
Höchstwahrscheinlich tauche ich damit nicht mehr wirklich in der Statistik auf, ausser im Vergleich eine ähnliche Haushaltssituation vorweisen zu können, die auch beruflich in meinem Sachgebiet vorherrscht.
Marc
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#5

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 22:11
Für mich persönlich zeichnet sich in diesem Thread mal wieder das Bild ab, was ich allgemein von der Delphi Community habe (sorry, subjektive Verallgemeinerung). Die, die an Delphi allein festhalten, entwickeln oft noch für "alte" Systeme und die, die auch mit C#/.Net zu tun haben und sich interessieren, sind auch modernen Software Architekturen und Techniken gegenüber offen. Und genau deshalb sehe ich noch ein Riesenpotenzial in .Net. Schonmal vernünftige IoC Container oder GUI Frameworks (nur mal als Beispiel genannt) in Delphi gesehen? Geschweige denn welche, die open source und hoch qualitativ sind. Oder Diskussionen über Design Pattern in nem Delphi Forum? Fast nicht vorhanden - und wenn, dann von besagten Personen, die sich auch in anderen Sprachen umschauen.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (19. Feb 2011 um 22:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 22:17
Für mich persönlich zeichnet sich in diesem Thread mal wieder das Bild ab, was ich allgemein von der Delphi Community habe (sorry, subjektive Verallgemeinerung). Die, die an Delphi allein festhalten entwickeln oft noch für "alte" Systeme und die, die auch mit C#/.Net zu tun haben und sich interessieren, sind auch modernen Software Architekturen und Techniken gegenüber offen.
Dann sollte ich nach meinen sehr langen Beiträgen vielleicht noch klarstellen, daß ich seit 2006 kaum noch mit Delphi zu tun habe. Obwohl ich erst letzte Woche einem FLOSS-Projekt beigetreten bin, welches überwiegend in Delphi entwickelt wird und die Kenntnisse alle noch da sind.

Interessanterweise ging es hier aber um die quantifizierbaren Vor- und Nachteile von .NET und nicht um die (subjektive) "Aufgeschlossenheit" gegenüber diversen Technologien. Die Tatsache, daß alte Systeme noch existieren und unterstützt werden müssen, läßt sich auch mit allen Vorteilen von .NET und unter Ausblendung aller Nachteile nicht kleinreden.

Wenn ich dir sage, daß ich Lisp lerne, bedeutet dies, daß ich in deinen Augen rückwärtsgewandt bin, oder stehe ich damit wieder auf einer Stufe mit denen die F# regelmäßig benutzen? ...
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)

Geändert von Assarbad (19. Feb 2011 um 22:53 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.052 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#7

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 23:37
Interessanterweise ging es hier aber um die quantifizierbaren Vor- und Nachteile von .NET und nicht um die (subjektive) "Aufgeschlossenheit" gegenüber diversen Technologien. Die Tatsache, daß alte Systeme noch existieren und unterstützt werden müssen, läßt sich auch mit allen Vorteilen von .NET und unter Ausblendung aller Nachteile nicht kleinreden.
Das Thema steht oben auf der Seite...
Und dazu gehört nunmal auch die Entwickler, die es nutzen. Innovationen und Ideen fördern die Weiterentwicklung. Und die sehe ich persönlich stärker auf .Net Seite als auf Delphi Seite. Gründe habe ich im vorherigen Post angeschnitten.

Das stimmt doch gar nicht. Wenn ich jetzt ein neues Projekt starten würde, dann würde ich mir Delphi XE Architect kaufen und native loslegen. Es gibt nicht besseres. Vor allem wegen der Produktivität und Freiheitsgrade.
Ja, Delphi XE ist bei weitem die beste Delphi Version ever und ich bin auch bekennender Delphi Jünger. Aber dass es nichts besseres gibt, wage ich mal in Frage zu stellen. Und dass die Produktivität damit so hoch sei auch. Vorrausgesetzt, du hast dir schon für Unsummen diverse kommerzielle Komponenten gekauft vielleicht.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#8

AW: Wie schätzt Ihr die Weiterentwicklung von .NET ein?

  Alt 19. Feb 2011, 22:09
Microkernel?
Ist IBM glaube Z9 mit 512 Prozessoren.
  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 18:15 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