Performance Struts vs Faceltes vs JSP

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Konnte schon jemand Erfahrungen sammeln im Zusammenhang mit der Performance im Vergleich von Struts, Faclets und JSP? Ich lasse hier Servlets außen vor, da diese in Performance höchst wahrscheinlich sowieso alle Abhängen würden.
 

ps

Bekanntes Mitglied
Anonymous hat gesagt.:
Konnte schon jemand Erfahrungen sammeln im Zusammenhang mit der Performance im Vergleich von Struts, Faclets und JSP? Ich lasse hier Servlets außen vor, da diese in Performance höchst wahrscheinlich sowieso alle Abhängen würden.

Deine Fragestellung ist seltsam. Zunächst einmal werden JSPs zu Servlets compiliert. Reine JSPs haben also die höchste Performance von deiner Liste.

Struts(2) benutzt JSP, Freemarker oder Velocity als View Technologie. Struts ist ein Framework und somit eher mit JSF, Seam oder Wicket vergleichbar als mit JSP oder Facelets.

Facelets sind ein View für JSF. Das langsamste Gespann in dieser Liste.
 

Terminator

Aktives Mitglied
> Facelets sind ein View für JSF. Das langsamste Gespann in dieser Liste.

Hmm - also das kenn ich andersrum, sprich Gespann JSF+Facelets ist performanter JSF+JSP.
Bei JSP haste doch Overhead: compilieren, forward request, jsp action
 

ps

Bekanntes Mitglied
Terminator hat gesagt.:
>
Hmm - also das kenn ich andersrum, sprich Gespann JSF+Facelets ist performanter JSF+JSP.
Bei JSP haste doch Overhead: compilieren, forward request, jsp action

Ja, das ist richtig. JSF ist aber langsamer als die anderen erwähnten Alternativen..
Geht man vom HTTP Protokoll aus, dann hast du bei Servlets und JSP den geringsten Overhead. Setzt du ein actionbasiertes Framework wie Struts ein dann hast du einen geringfügigen Overhead. Am meisten Overhead hast du aber wenn du ein komponentenbasiertes Framework wie JSF einsetzt.

Facelets mögen performanter sein als JSP - aber diese Aussage gilt nur im Kontext von JSF. (Facelets sind ja im Gegensatz zu JSP auch nicht ohne JSF einsetzbar).
 
G

Guest

Gast
ps hat gesagt.:
Facelets mögen performanter sein als JSP - aber diese Aussage gilt nur im Kontext von JSF. (Facelets sind ja im Gegensatz zu JSP auch nicht ohne JSF einsetzbar).

Eins verstehe jetzt nicht wenn JSP am performantesten ist und JSF nicht so performant, wie kann denn JSF mit Facelets performanter sein als JSP?
 

ps

Bekanntes Mitglied
Anonymous hat gesagt.:
Eins verstehe jetzt nicht wenn JSP am performantesten ist und JSF nicht so performant, wie kann denn JSF mit Facelets performanter sein als JSP?

JSF mit Facelets ist performanter als JSF mit JSP. Aber JSPs bzw. Servlets ohne JSF sind am performantesten :)
 

Terminator

Aktives Mitglied
Hm - vergleichen wir mal thereotisch den Unterschied (fürn nen Inital Request):


Request:
- Locale und Encoding Berechnungen und son Zeugs bräuchtest bei eigener Servlet+JSP Lösung auch.
- Einzige mehr was ich da bei JSF wüsste, wären paar zusätzlich ifs bzw MethodenAufrufe und n leeres TreeObjekt wird erstellt
Also net sonderlich viel Unterschied meiner Meinung


Render:
- Tag Auflösung hat man auch bei beiden
- Bei JSF kommt dann noch Auflösung und Erstellung der Komponenten hinzu
- Ausserdem noch Auflösung der zugehörigen Komponenten Renderer
Da ist auf jedenfall schon mal mehr Aufwand


Wenn nun Facelets das optimiert durch Vermeidung des JSP Overhead isses vielleicht ja in Wirklichkeit nimma viel.
Naja soweit mal mein Wissenstand, müsste man evt mal irgendeinen Test sehen zu, wieviel das ausmachen kann.

Mal unabhängig von der Performance find ich JSP irgendwie als Auslaufmodel.
Würde das nicht mehr für neue Projekte einsetzen wollen und Performance wäre da eigentlich kein Überlegungsgrund.
 

ps

Bekanntes Mitglied
Terminator hat gesagt.:
Hm - vergleichen wir mal thereotisch den Unterschied (fürn nen Inital Request):
...
Wenn nun Facelets das optimiert durch Vermeidung des JSP Overhead isses vielleicht ja in Wirklichkeit nimma viel.
Naja soweit mal mein Wissenstand, müsste man evt mal irgendeinen Test sehen zu, wieviel das ausmachen kann.

Naja - bei JSF musst du den gesamten State der Komponenten mitschleifen. Das ist das Problem bei Komponentenbasierten Frameworks - das Web basiert nunmal auf HTTP, und das ist stateless. Bauen wir ein komplexes Framework wie JSF oben drauf, kostet das erhebliche Ressourcen.

schloemmer4722026d0ad5a.gif

-> http://it-republik.de/jaxenter/artikel/JSF-und-Struts-auf-dem-Leistungspruefstand-1328.html


Mal unabhängig von der Performance find ich JSP irgendwie als Auslaufmodel.
Würde das nicht mehr für neue Projekte einsetzen wollen und Performance wäre da eigentlich kein Überlegungsgrund.

Sehe ich eigentlich nicht so - wenn man ein actionbasiertes Framework (Struts2, Spring MVC, etc) einsetzt, dann machen JSPs schon Sinn. Richtig ist aber das es Alternativen gibt welche in manchen Punkten leistungsfähiger sind: Freemarker oder Velocity zB. Der größte Vorteil hier ist das diese nicht an den Servletcontainer gekoppelt sind und auch ausserhalb eingesetzt werden können - zB. ermöglicht es auch Teile einer Applikation in Module auszulagern... (Webtemplates in einer JAR - bei JSP geht das nicht).

Ansonsten ist JSP sehr weit gekommen... und vielleicht wird dieses letzte Manko in der nächsten Version ja auch noch ausgebügelt.
 

Terminator

Aktives Mitglied
> bei JSF musst du den gesamten State der Komponenten mitschleifen

Müssen nicht - das läst sich für jede Kompo abstellen
Bei ner View mit Postback Funktion ists aber in der Tat eigentlich immer der Fall bzw würde anders echt keinen Sinn machen.


>>Würde das nicht mehr für neue Projekte einsetzen wollen und Performance wäre da eigentlich kein Überlegungsgrund.
> Sehe ich eigentlich nicht so

Glaub der Autor hats net mal schlecht zusammengefasst.
sprich für Hochleistungssystem könnt JSP incl die bessere Performance ausschlaggebend sein

Finde trotzdem, dass man neue Projekte gleich mit JSF machen sollte wenn möglich.
Kenn Struts nicht, denk aber auch dass da einige wechseln.

Ein Grund ist für mich dass JSF ein Standard ist.
Und Facelets auch bald inclusive.


> Chart

Zwar kein Inital Request, sondern n Postback und wahrscheinlich ohne Facelets.
War aber echt interressant mal die Unterschiede zu sehen.
thanx
 

ps

Bekanntes Mitglied
Terminator hat gesagt.:
>Finde trotzdem, dass man neue Projekte gleich mit JSF machen sollte wenn möglich.
Kenn Struts nicht, denk aber auch dass da einige wechseln.

Nun - ich denke man nimmt das mit dem man am ehesten zum Ziel kommt. Ein Wechsel macht selten Sinn - die Modelle sind zu unterschiedlich, eine Portierung meist zu Aufwändig - bei zu geringem bis garkeinem Nutzen.

Ein Grund ist für mich dass JSF ein Standard ist.
Und Facelets auch bald inclusive.

Standards.. seit Struts, Spring und anderen wissen wir doch das man darauf nicht allzuviel geben muss ;)
Ein gewaltiges Problem bei JSF ist das man es allein fast nicht verwenden kann - also packt man noch ein Framework wie Seam oder Shale (benutzt das irgendjemand) drauf.

Und schon hat man wieder nen wunderbaren nicht-standard. Die Standard's definieren wunderbare Ausgangspunkte - aber am Ende legt man sich doch meist auf ein Framework fest. Und nein - JSF für sich ist in meinen Augen kein fertiges Framework, nur eine Technologie um ein solches zu bauen. Ebenso wie Servlets und JSP... welche ja auch Standard sind. Es nimmt sich also nicht viel finde ich.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
7 Struts Performance-Schwäche Web Tier 5
J Performance einer Webanwendung Web Tier 2
S Performance JSF Web Tier 9
M Performance von Web-Frameworks Web Tier 23
J Web-Seiten Performance Web Tier 5
I heutzutage Struts 1 oder 2 in der Praxis? Web Tier 4
K Struts Struts forwarded lokal auf fertige Webseite Web Tier 2
M Struts 2 - "There is no Action mapped for namespace..." - globale Lösung? Web Tier 3
S Tomcat 7, Struts, JPA baut keine Verbindung auf Web Tier 13
D Struts 2 , DIV Container mit verschiedner Farbe Web Tier 2
K Struts request Zugriff Web Tier 4
2 Anwendung mit Zuständen und Struts Web Tier 5
P Struts 2 Download Dateinamen Web Tier 2
ruutaiokwu struts 2 & jsf kombinieren Web Tier 2
D Struts und CSS Web Tier 4
7 Struts+AJAX- Session-Handling? Web Tier 2
7 Struts und Ajax. Problem mit Actions Web Tier 2
7 Struts iterator index JS-Funktion übergeben?? Web Tier 2
7 Struts: bei action immer ein Result nötig? Web Tier 2
7 Struts vom popup wieder zurück ins alte Fenster? Web Tier 2
7 statische Variablen in Struts-Tags nutzen? Web Tier 6
7 Struts Actionaufruf durch JS Web Tier 4
L Struts 2 Iterator Validation Web Tier 4
Tandibur Struts 2 - Startseite festlegen Web Tier 5
J Struts aus JSP ActionForm-Eigenschaft lesen Web Tier 5
7 Struts 2 nebeneinanderliegende Textfelder Web Tier 4
E Struts: Text in JSP aus Action heraus setzen Web Tier 4
F Struts Tabellen Web Tier 3
F Meinungsumfrage Struts / Javascript Web Tier 3
F Problem mit Struts Web Tier 2
T Json mit Struts 2 Web Tier 2
2 Blätterfunktion in Struts? Web Tier 2
S Struts - Http Port ändern Web Tier 11
L Struts JSTL Form Variable Übermitteln Web Tier 2
S GET in struts und JSF Web Tier 6
O JSP: HTML tags werden vor struts tags angezeigt Web Tier 3
L Struts Validation Error Web Tier 17
L STRUTS: javax.servlet.jsp.JspException Web Tier 3
O struts - Gültigkeit einer Action an Session binden?! Web Tier 4
N MessageResources von Struts in Form-Bean Web Tier 4
pusteblume JavaScript mit Struts auslesen? Web Tier 3
A Struts - JSP - HTML - Visualisierungsproblem Web Tier 3
M Properties der JSP nach input-result leer (Struts 2) Web Tier 2
M Zugriff aus eigenen Tags auf Struts Value Stack Web Tier 2
M Struts 2 Submit Button lokalisieren Web Tier 5
G Struts 2 Validation Web Tier 5
pusteblume Struts multibox - dynamische checkboxen Web Tier 5
G Struts 2 - Validation Frage Web Tier 5
T Action mapping Frage (Struts) Web Tier 2
J Struts 2 session ID auslesen? Web Tier 5
G Kurze Frage zu Servlets&Struts Web Tier 4
N Struts - reset, wie komme ich an das ActionMapping Web Tier 2
T In einem Struts Tag Werte mit Java einfügen Web Tier 2
B struts-blank, eclipse und tomcat6 konfigurieren Web Tier 7
O Struts Grundlagen Frage Web Tier 32
T Tabelle mit checkboxen in Struts Web Tier 19
T Button abfrage mit Struts leicht gemacht ? Web Tier 3
B Struts: html:checkbox Web Tier 2
U Problem bei Validierung mit Struts 2 Web Tier 1
A JSF und Struts unter einen Hut bringen (SingleSignOn) Web Tier 2
R Webhoster mit Struts Web Tier 13
S Struts: Validierung mit mask Web Tier 2
G radio button deselect mit struts Web Tier 7

Ähnliche Java Themen

Neue Themen


Oben