# Performance



## Grejak (6. Jan 2012)

Hallo

ich wollte in diesem Thema einmal die Performance ansprechen, dass heiist ich würde gerne etwas über Performance wissen :

1.) Was ist JIT?

2.) Welche Collection hat die höchste Performance?

3.) Wie optimiert man Code?

4.) Was sind große performance Killer?

Über Antworten würde ich mich freuen. 
Wenn jemand noch etwas wichtiges über Performance weiss würde ich mich freuen er würde es hier rein schreiben.

Grejak

EDIT: JIT= Just In Time Compiler habs gesehen als ich das Thema erstellt habe.Trotzdem bitte eine Erklärung


----------



## Schandro (6. Jan 2012)

> 2.) Welche Collection hat die höchste Performance?


Kommt drauf an für was sie am meisten benutzt wird, bspw. ist ArrayList am besten wenn du per Index ein bestimmtes Element haben willst, dagegen ist LinkedList besser wenn du mittendrin ein Element löschst/hinzufügst



> 3.) Wie optimiert man Code?


Meiner bescheidenen Meinung nach ist das allerwichtigste über optimierungen erst nachzudenken wenn es sicher ist das die jeweillige Codestelle wirklich ein Performanceproblem ist. Zu Not einfach einen Profiler benutzen. Es kommt viel zu oft vor (vorallem bei Anfängern) das Zeit mit der Optimierung von Codestellen verschwendet wird die in Wahrheit Nanosekunden verbrauchen, bei sowas ist es einfach s****** egal ob es noch performanter gehen würde. Heutige Computer sind extrem schnell! 



> 4.) Was sind große performance Killer?


Sehr viele Strings mit + zu concatenieren anstatt einen StringBuilder zu benutzen! Oder tausende Exceptions zu schmeissen und wieder abzufangen. Oder eine IO-Operation ohne Buffer zu benutzen. Oder sehr sehr sehr viele Objects zu erstellen.


----------



## Empire Phoenix (7. Jan 2012)

Oder ein sleep(5000) ^^

Die Frage ist zu allgemein für eine bessere Antwort.


----------



## Grejak (7. Jan 2012)

Danke schon mal

Zu den Collections: Ich benötige eine die mit sehr vielen zugriffen zurecht kommt. Sie ist auch relativ groß 200-300 objectcs

Wie meinst du das mit dem Buffer bei IO?


----------



## Schandro (7. Jan 2012)

> Sie ist auch relativ groß 200-300 objectcs


Das ist nicht viel, nimm einfach ne ArrayList und fertig. Siehe meine Antwort auf deine Frage Nummer 3 



> Wie meinst du das mit dem Buffer bei IO?


Wenn du bspw. beim auslesen einer großen Datei jedes einzelne byte liest anstatt das in nem byte array in viel größeren Schritten zu lesen.


----------



## Grejak (7. Jan 2012)

DANKE


----------

