[linux-l] Debian-Mirror der belug...
Jan Krueger
jk at microgalaxy.net
So Okt 5 06:17:08 CEST 2003
On Saturday 04 October 2003 22:41, Steffen Dettmer wrote:
> * Jan Krueger wrote on Sat, Oct 04, 2003 at 19:20 +0200:
> > Wobei Java weder langsam noch groß sein muß.
>
> ... ohne native Code zu verwenden?
Hm, kommt drauf an, ja. Beispiel OpenCMS(.com), pure Java, hervorragend
niedrige Antwortzeiten im Vergleich zu anderen Opensource Mitstreitern.
> > Mein ehemaliger Arbeitskollege hatte da einen Lego 3D Modeller
> > mit Java entwickelt der schneller und besser (ordentliches
> > Shading) war, weniger RAM benutzt hat als der C++ Lego 3D
> > Modeller, also es geht schon, wenn man es richtig anpackt...
> > Allerdings war das unter Windows. Leider ist Java unter Linux
> > bei graphischen Sachen nicht wirklich schnell ..., stabil ...
>
> Ich war von dem Speichermanagement von Java (bis einschließlich
> 1.4) nicht zufrieden. Für ein paar KB Nutzdaten sind schnell ein
> paar MB phys. fällig, teuere Verwaltung... Troz Garbage Collector
> und dynmamischer Speichergröße kann man "out of memory" bekommen,
> vermutlich dann, wenn der GC läuft und man schnell viel (bei Java
> sind ein paar KB oft schon viel :)) Speicher alloziert
> (beispielsweise ein deep-copy einer Hashmap macht). Hab hier
> schon viel probiert und gefragt, aber außer "in der
> aktuellen/nächsten Version ist das gefixt" und "kann doch nicht
> sein?" nichts gehört... Gibt es da einen Trick?
nee, nicht wirklich, ähm, vielleicht etwas anderes als Java verwenden. Mann
kann mit Java so manches mal Geschwindigkeit hervor kramen wenn man Speicher
opfert. Bei obigem Lego Dings war das kein richtiges Thema, da die erzeugten
3D Daten alles andere in den Schatten gestellt haben.
Das mit der "in der aktuellen/nächsten Version ist das gefixt" gehörte auch
zum Sprachgebrauch meines Kollegen: "You need the latest JDK"
Oben erwähntes OpenCMS sollte man schon mit -Xmx384M laufen lassen um nicht
Opfer einer "out of memory" DoS-Attacke zu werden, eventuell sogar mehr.
Das ist dann die andere Seite.
Ein sehr gutes Beispiel für schnelles und wenig Speicher nutzendes pure Java
ist orion(server.com), leider nicht opensource und nicht wirklich billig und
auch nicht wirklich teuer und mit einem eigenen (leider) Deploy-Format. Dafür
sauschnell, wirklich, kann locker mit thttpd und dergleichen mithalten. Orion
war in meinen Tests schneller (nur ein klein wenig, im einstelligen
Prozentbereich kleiner als 3) als sein C Kollege Resin von caucho.com, der
schon sauschnell ist. Und hier ist zu beachten, das Orion, ebenso wie resin,
ein J2EE Application Server ist! Orion kann einfache JSP Seiten schneller und
mit weniger Latenz ausliefern als apache einfache HTML Seiten. Viel Speicher
brauch orion auch nicht, im Vergleich zu Tomcat oder einem full blown
"J2EE"-apache mit sämtlichen Modulen und Kram :), orion ist mehrfach
schneller als Tomcat4. Also es geht doch. Es ist bestimmt zeitaufwendig und
mühsam nur um Performance mit Java zu bekommen mehrere Lösungsalternativen zu
implementieren und zu benchmarken, aber manchmal lohnt sichs auch.
Was eventuell eine alternative sein könnte, wäre eine andere Sprache als Java
zu nehmen deren Compiler jedoch Bytecode für die Java Virtual Machine
erzeugt. Quasi C für JVM oder so. Gibts ja auch. Vielleicht ist ja sogar so
Orion entstanden. Oh, damit werde ich zum differenzieren zwischen Byte-Code
und Java gezwungen. Also Orion ist vielleicht gar kein Java? Trotzdem
sauschnell, oder gerade deswegen? :) Closed Source, leider, wissen wird man
es nie.
Moment, da kommt mir .Net ins Gedächtnis: Viele verschiedene Sprachen erzeugen
Code für die selbe CL/VM. Wenn Sun die VM ein wenig aus dem Java-Nebel
herauslöst, viele Sprachen erzeugen VM Bytecode, vielleicht gibt es dann ja
mehr wirklich tolle Lösungen?
> > Hab da neulich etwas von Y gelesen, wo wars denn gleich ...
> > .. ich finds nicht. War eine Abhandlung von X11 und seinen Alternativen
> > samt Vorschlag für eine neue Alternative "Y" die sowieso viel besser ist
> > ... ... auf Kosten der Netzwerktansparenz von X11.
>
> Ist doch dann ein klares downgrade, oder? Gut, für "zu
> Hause" vielleicht noch egal.
Ein Remote Desktop ist schon was schönes, auch für zu Hause :)
Gruß
Jan
Mehr Informationen über die Mailingliste linux-l