Timm Thaler hat geschrieben:So habe ich immer noch das Problem, dass GUI-Programme gerade unter Linux über mehrere Tage Speicher akkumulieren bis zur Unbenutzbarkeit. Und da bekommt man ganz schwer raus, woran das liegt.
Heaptrc.
Timm Thaler hat geschrieben:So habe ich immer noch das Problem, dass GUI-Programme gerade unter Linux über mehrere Tage Speicher akkumulieren bis zur Unbenutzbarkeit. Und da bekommt man ganz schwer raus, woran das liegt.
relocate hat geschrieben:Wenn das Programm unter Linux einfach so mal 3 mal so groß ist, wie unter Windows (wobei ich das auch für unnötig halte),
dann gibt es da einfach Optimierungspotential und zu Fragen Warum ist einfach kontraproduktiv und ebenfalls überflüssig.
Vor allem, wenn dann diese Linuxprogramm ggf. (WARUM auch immer) auf einem Raspi oder Co. eingesetzt werden sollen ist gerade Größe auf jeden Fall relevant.
Was spräche dagegen, mal an die Optimierung von FPC/LAZ zu gehen und zu zeigen, es geht besser.
Timm Thaler hat geschrieben:relocate hat geschrieben:Vor allem, wenn dann diese Linuxprogramm ggf. (WARUM auch immer) auf einem Raspi oder Co. eingesetzt werden sollen ist gerade Größe auf jeden Fall relevant.
Ich bin ja auch für Ressourcenschonung, und beim AVR Controller kämpfe ich auch um jedes Byte - naja, nicht jedes...
Aber wenn ich sehe was auf dem Raspi sonst so rumgammelt, da mache ich mit um ein paar mehr MByte mehr für mein Programm keine Sorgen. Was mich viel mehr stört ist schwer vorhersagbares Langzeitverhalten. So habe ich immer noch das Problem, dass GUI-Programme gerade unter Linux über mehrere Tage Speicher akkumulieren bis zur Unbenutzbarkeit. Und da bekommt man ganz schwer raus, woran das liegt.
Warf hat geschrieben:Außerdem warum hast du GUI programme die so lange laufen? Realisier langzeit jobs besser als daemon die du dann mit einem GUI programm ansteuern kannst (z.B. über FIFOs)
relocate hat geschrieben:relocate hat geschrieben:Was spräche dagegen, mal an die Optimierung von FPC/LAZ zu gehen und zu zeigen, es geht besser.
Konjunktiv!
Sowohl meine Fähigkeiten, als auch meine Zeit sind definitiv ausgereizt, in jeder Hinsicht.
Für mich, für meine Projekte aber mache ich das, ich optimiere wo es nur geht. Das fängt damit an, dass ich Lazarus nicht nutze...
Das ist ma 'ne Frage. Weil es nicht nötig erscheint, weil auch in heutigen Zeiten Platz endlich ist (vor allem beim Download über die ach so tollen LTE Tarife).
Weil es mal gut wäre, wenn man wieder mehr optimieren würde.
Mathias hat geschrieben:Dies sollte heute kein Problem mehr darstellen, heutzutage hat man sogar im Grundpaket von UPC eine 40'000-Leitung.
Oder gibt es noch Leute, die den guten alten Akustikkoppler ausgraben und übers Telefon surfen ?
Nicht jeder hat eine Million Euro für eine Glasfaserleitung übrig.
theo hat geschrieben:relocate hat geschrieben:4. Wo ist der Unterschied?
Ich weiß wirklich nicht,worauf du hinaus willst.
theo hat geschrieben:Wahrend beim schauen eines Online Videos mehrere Computer beteiligt sind und Strom fressen, interessiert die Dateigröße des Executable in dieser Grössenordnung auf deiner Festplatte eigentlich ökologisch nicht weiter.
theo hat geschrieben:Aber lass gut sein. Mich interessiert dein extreme Meinung eigentlich gar nicht mehr.
Warf hat geschrieben:relocate hat geschrieben:Wenn das Programm unter Linux einfach so mal 3 mal so groß ist, wie unter Windows (wobei ich das auch für unnötig halte),
dann gibt es da einfach Optimierungspotential und zu Fragen Warum ist einfach kontraproduktiv und ebenfalls überflüssig.
Vor allem, wenn dann diese Linuxprogramm ggf. (WARUM auch immer) auf einem Raspi oder Co. eingesetzt werden sollen ist gerade Größe auf jeden Fall relevant.
Was spräche dagegen, mal an die Optimierung von FPC/LAZ zu gehen und zu zeigen, es geht besser.
Es ist etwas irreführend wenn du sagst das program ist 3 mal so groß. Wie bereits erwähnt ist der overhead eher konstant, wenn du also ein 30 MB programm für windows hast, wird das Linux programm wahrscheinlich nicht größer als 40 mb sein, da ist es nur 30% größer.
Warf hat geschrieben:Und da du den Raspi ansprichst, eine 32 GB SD karte kostet 10€. Wenn du mehr als 32 GB brauchst nimm für 15€-20€ ne 64 GB karte. Und wenn du mehr als 64 GB brauchst denk lieber drüber nach ob dann ein Raspi wirklich die richtige wahl als hardware ist. Speicher kostet nichts und ist komplett irrelevant, außer eventuell auf mikrocontrollern, und dafür ist Pascal nie designed worden (afaik ist avr pascal eh noch in den kinderschuhen).
Warf hat geschrieben:Und das mit dem optimieren ist doch kompletter müll. Speicher ist billig, und das optimieren dauert. Ich denke da einfach nur an C welches alle möglichen solcher optimierungen macht, man für ein projekt zu kompilieren aber einfach mal ein paar stunden brauchen kann. Z.B. FPC kompiliert bei mir in 5-10 minuten. LLVM als vergleichbares projekt (Vergleibare Anzahl LOC und ähnliche art von program) braucht 40-60 minuten.
Warf hat geschrieben:Noch dazu würde es entwickler benötigen die sowas implementieren, also muss man sich fragen, sollen die FPC entwickler ihre zeit lieber mit unnötigen optimierungen die niemand verwenden würde (da mir zeit wichtiger ist als speicher) verschwenden, oder lieber neue features in die sprache integrieren die den workflow verbessern?
Relevant würden solche optimierungen höchstens für AVR pascal aber warum sollte irgendein entwickler seine zeit investieren um das in den x86 compiler zu implementieren?
Socke hat geschrieben:relocate hat geschrieben:Konjunktiv!
Sowohl meine Fähigkeiten, als auch meine Zeit sind definitiv ausgereizt, in jeder Hinsicht.
Für mich, für meine Projekte aber mache ich das, ich optimiere wo es nur geht. Das fängt damit an, dass ich Lazarus nicht nutze...
Es gibt zwar einige Personen, die durchaus die Fähigkeiten und das Wissen haben um das gesamte System dahingehend zu optimieren, nur haben die in der Regel eine genau so begrenzte Zeit wie du. Bei Free Pascal gilt wie bei allen anderen Open Source Projekten: du arbeitest an den Punkten, die dir wichtig sind, und woran du Spaß hast - außer du wirst für ein Feature bezahlt.
Mathias hat geschrieben:Das ist ma 'ne Frage. Weil es nicht nötig erscheint, weil auch in heutigen Zeiten Platz endlich ist (vor allem beim Download über die ach so tollen LTE Tarife).
Weil es mal gut wäre, wenn man wieder mehr optimieren würde.
Dies sollte heute kein Problem mehr darstellen, heutzutage hat man sogar im Grundpaket von UPC eine 40'000-Leitung.
Oder gibt es noch Leute, die den guten alten Akustikkoppler ausgraben und übers Telefon surfen ?
Code: Alles auswählen
program Project1;
type
TC=class
end;
begin
end.
Code: Alles auswählen
program Project1;
type
TC=class
end;
begin
end.
Code: Alles auswählen
tux@tux-To-be-filled-by-O-E-M ~/tmp $ ls -l
insgesamt 644
drwxrwxr-x 3 tux tux 4096 Jan 23 20:10 lib
-rwxrwxr-x 1 tux tux 362968 Mär 22 19:49 project1
-rw-rw-r-- 1 tux tux 137040 Mär 20 17:29 project1.ico
-rw-rw-r-- 1 tux tux 31 Mär 22 19:49 project1.lpr
-rw-rw-r-- 1 tux tux 138932 Mär 20 17:29 project1.res
-rw-rw-r-- 1 tux tux 323 Mär 20 17:29 unit1.lfm
-rw-rw-r-- 1 tux tux 439 Mär 20 17:29 unit1.pas
tux@tux-To-be-filled-by-O-E-M ~/tmp $ ls -l
insgesamt 656
drwxrwxr-x 3 tux tux 4096 Jan 23 20:10 lib
-rwxrwxr-x 1 tux tux 373800 Mär 22 19:50 project1
-rw-rw-r-- 1 tux tux 137040 Mär 20 17:29 project1.ico
-rw-rw-r-- 1 tux tux 56 Mär 22 19:50 project1.lpr
-rw-rw-r-- 1 tux tux 138932 Mär 20 17:29 project1.res
-rw-rw-r-- 1 tux tux 323 Mär 20 17:29 unit1.lfm
-rw-rw-r-- 1 tux tux 439 Mär 20 17:29 unit1.pas
Code: Alles auswählen
program Project1;
type
TC=class
procedure Ausgabe(s:String);
end;
procedure TC.Ausgabe(s: String);
begin
WriteLn(s);
end;
begin
end.
relocate hat geschrieben:Socke hat geschrieben:relocate hat geschrieben:Für mich, für meine Projekte aber mache ich das, ich optimiere wo es nur geht. Das fängt damit an, dass ich Lazarus nicht nutze...
Es gibt zwar einige Personen, die durchaus die Fähigkeiten und das Wissen haben um das gesamte System dahingehend zu optimieren, nur haben die in der Regel eine genau so begrenzte Zeit wie du.
Das ist schon klar, nur die Einstellung auf Optmierung gar nichts zu geben und das nicht mal im entferntesten im Fokus zu haben, geht mir komplett gegen den Strich. Es geht nicht um die allerletzten Bits, zu optimieren, aber es wird eben gar nichts darauf gegeben und das ist meiner Meinung nach eben auch falsch.
relocate hat geschrieben:Das fängt damit an, dass ich Lazarus nicht nutze...
Mathias hat geschrieben:Bei Konsolen-Anwendungen sieht es sogar noch schlechter aus.
Ohne Debugger:
Linux64 182KB
Für so ein kleines Programme ist der Speicherverbrauch recht hoch.Code: Alles auswählen
program Project1;
begin
WriteLn('Hello World');
end.
Code: Alles auswählen
fpc -XX hello.pas