Autor Beitrag
vsti
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 43

XP Home
D2005
BeitragVerfasst: Di 25.01.05 11:08 
Moin moin,

seit einiger Zeit versuche ich mich dem Fortschritt azupassen und programmiere ein wenig in Delphi .Net. An sich sehr genial, einfach, macht Spaß und Exe-Dateien sind schön klein.
Aber warum verbraucht eine Anwendung so viel Arbeisspeicher wenn man sie erstmal gestartet hat? Kann das Sinn der Sache sein, wenn eine 30 kB kleine Anwendung 10 MB Arbeisspeicher belegt?


greez, vsti

_________________
[size=10:8b472be373]Wer anderen eine Grube gräbt hat Gold im Mund.[/size:8b472be373]
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 25.01.05 11:26 
Die Größe der Anwendung selber spielt keine Rolle. Gestern hat bei mir MemTest (exe = 14KB) locker seine angeforderten 800 MB belegt und getestet. Was genau bei .NET Programmen so viel Speicher braucht, weiß ich auch nicht, aber allgemein gesagt sind es die Ressourcen (Bitmaps, Dialoge usw.) und die Datenstrukturen innerhalb eines Programmes, die den Speicher brauchen. Und beim Framewok kommen eben noch die Datenstrukturen des Frameworks dazu.
Radioactive
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 179

Win 98, Win XP Home SP2
D3 Prof, D7 Pers, D2005 Pers
BeitragVerfasst: Di 25.01.05 12:04 
Das liegt auch daran, dass die EXE-Datei beim Ausführen nochmals Complimiert wird. Wenn du das Programm in Delphi schreibst und dann auf komplimieren klickst, erzeugt der Compiler einen Zwischen code, der aber wärend der Laufzeit sozusagen "Endkomplimiert" wird. Deshalb ist auch das .net Runtime Enviroinment nötig.

_________________
Radioactive
"Wer scrollt, verliert!" Matthias Stein, Informatiklehrer am GG
vsti Threadstarter
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 43

XP Home
D2005
BeitragVerfasst: Di 25.01.05 12:45 
Das würde auch erklären warum Longhorn min requirements 1024 MB Ram hat (war doch so, oder?) ^^.
Vielleicht hat M$ bis dahin ja ne elegante Lösung parat die nicht für jedes Programm einzelnd so viel speicher für das .NET Runtime belegt, sondern eine lokale Quelle hat von der aus .NET abgerufen wird. Sofern das .NET-Prinzip das zulässt...

_________________
[size=10:8b472be373]Wer anderen eine Grube gräbt hat Gold im Mund.[/size:8b472be373]
xasx
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 34

WinXP Pro, Win 2k3 ServEnt
D2k5 PE, VS 2005
BeitragVerfasst: Do 14.04.05 13:00 
Naja: in Longhorn wird .NET (oder genauer: die nachfolger Avalon bzw. WinFX) Teil des Betriebssystem und dessen API sein, ich denke schon, dass man da an einigen Performance-schrauben drehen kann, und (ähnlich der neuesten Version von Java) mehrere Programme mit derselben Instanz der Runtime laufen lassen kann.

Warum so viel? Managed Code! Z.B. Wir müssen uns ja (fast) nicht mehr um die Speicherverwaltung kümmern, ein Garbage Collector nimmt uns (fast) die ganze Arbeit ab. Der will auch seinen Speicher haben...
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Do 14.04.05 13:24 
@Radioaktiv

"Compiler" kannste richtig schreiben, es heißt "(k)compilieren" nicht "komplimieren".
Das soll jetzt nichts gegen dich seinwegen der Rechtschreibung, aber da du 3 mal den fehler gemach hast, kennst du das wort wohl nur so, deshalb sag ich dir wie es richtig heißt

also: Compil<er> -> Compil<ieren>

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Mo 09.05.05 16:35 
user profile iconuall@ogc hat folgendes geschrieben:
@Radioaktiv

"Compiler" kannste richtig schreiben, es heißt "(k)compilieren" nicht "komplimieren".
Das soll jetzt nichts gegen dich seinwegen der Rechtschreibung, aber da du 3 mal den fehler gemach hast, kennst du das wort wohl nur so, deshalb sag ich dir wie es richtig heißt

also: Compil<er> -> Compil<ieren>


Signatur von uall@ogc hat folgendes geschrieben:
(Popov): "du bist eine kleine fette Gurke ... Hat dich deine Mama nicht lieb, daß du mich hier in Diskussionen verwickelst? Wenn du einen haben willst, mit dem du in Zukunft Ärger hast, dann mach weiter so. Mr. Rechtschreibung. Ha."


Ich will mich nicht mit dir anlegen @uall, aber so langsam glaube ich, hat Popov recht und du wirst deiner Signatur gerecht :mrgreen: ;) .
uall@ogc
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1826
Erhaltene Danke: 11

Win 2000 & VMware
Delphi 3 Prof, Delphi 7 Prof
BeitragVerfasst: Mo 09.05.05 18:39 
dazu muss ich sagen, dass ich das nur da beanstande bei den leuten die ein wort mehrmals gleich falsch schreiben.
wenn mir jemand sagt, dass ich irgendwas falsch schreibe nehme ich das zur kenntnis aber beschimpfe nicht wild denjenigen. ich mache ja auch genug fehler (groß/kleinschreibung nicht beachten) aber bei so einem wort wie "komplimieren" (2* falsch geschrieben) nehme ich stark an, dass derjenige denkt man schreibt es so und will ihn nur darauf hinweisen.

ich mach mehr fehler als die meisten hier. ich könnte mich zwar anstrengen keine fehler mehr zu machen. nur manchmal glaube ich die leute wissen nicht, dass sie fehler machen (einzigtes etc.) man kann dann ja nett drauf hinweisen.

_________________
wer andern eine grube gräbt hat ein grubengrabgerät
- oder einfach zu viel zeit
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Mo 09.05.05 19:02 
Is doch in Ordnung, auf fehler ingewiesen zu werden, oder? wenn man solche fehler z.B. in einem Bewerbungsschreiben macht, dann isses ziemlich schnell aus mit dem Job. Darum find ichs in Ordnung zu korrigieren, bzw korrigiert zu werden.

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
JayK
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1013



BeitragVerfasst: Mo 09.05.05 19:10 
Ja, ja, ich hab ja auch nichts dagegen. Aber ich hab uall@ogc jetzt zum zweiten mal erwischt, wie er Rechtschreibfehler korrigiert. Nun aber wieder zum Thema, sonst kommt hier noch ein Mod vorbei...
jasocul
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 6386
Erhaltene Danke: 146

Windows 7 + Windows 10
Sydney Prof + CE
BeitragVerfasst: Mo 09.05.05 19:50 
Die Interna von .NET sind mir noch nicht so geläufig, aber ich könnte mir folgendes vorstellen:
Man startet ein .NET-Programm auf einem XP-Rechner.
XP hat .NET nicht im BS implementiert. Bei Longhorn wird es iirc anders sein.
Daher rechnet XP die geladenen Framework-Ressourcen aus .NET dem kleinen .NET-Programm zu.
Je nachdem, was da alles eingebunden wird, kommen da schonmal ein paar 100MB zusammen.