Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.java > #12932

Re: Rekursion bricht nicht ab

From Wanja Gayk <brixomatic@yahoo.com>
Newsgroups de.comp.lang.java
Subject Re: Rekursion bricht nicht ab
Date 2016-04-13 19:25 +0200
Organization Aioe.org NNTP Server
Message-ID <MPG.31789f5985a68ae9896b0@news.aioe.org> (permalink)
References <dmqm4qFkm0hU1@mid.individual.net> <neb2mi$m27$1@newsreader4.netcologne.de> <dmv3g8Fngq5U2@mid.individual.net> <dmv77lFoggiU1@mid.individual.net> <dmvd9oFq327U1@mid.individual.net>

Show all headers | View raw


In article <dmvd9oFq327U1@mid.individual.net>, Christian H. Kuhn (qno-
news@qno.de) says...
>
> Ansonsten kann ich mir gut vorstellen, dass ich unter
> Effizienzgesichtspunkten ?schlecht programmiert? habe. Ich könnte mir
> gut vorstellen, dass Fehlerbehandlung im C-Stil über einen
> int-Rückgabewert schneller funktioniert als der etwas ... ausufernde
> Gebrauch von Exceptions. Deren Verwendung sauber durchzuziehen war aber
> Lernziel. Sollte ich je eine auf Effizienz getrimmte Fassung schreiben,
> werde ich das überdenken.

Ich glaube nicht, dass das das Problem ist, sondern bei derart harten 
Geschwindigkeitsproblemen solltest du den Flaschenhals 
a) im Algorithmus suchen (insb. bei Rekursion: Werden z.B. bereits 
gewonnene Erkentnisse verworfen und/oder neu berechnet, obwohl man sie 
sich merken kann?) 
oder 
b) in der Datenstruktur (z.B. du löscht immer Werte am Anfang einer 
ArrayList, das ist O(n) -> bei einer LinkedList ist removeFirst() nur O
(1), z.B. du iterierst ohnehin immer durch eine Liste und ab und zu 
löscht du was an der aktuellen Position, dann ist LinkedList und 
Iterator#remove() besser statt ArrayList#remove(n) oder 
LinkedList#remove(n), oder z.B. die Suche in einem Ergebnis ist linear, 
dabei ist die Liste selten geschriebenm aber oft gelesen und eine binäre 
Suche ist schneller, oder vielleicht willst du auch eine HashMap, zb. 
ein HashSet, um zu checken, ob etwas schon vorhanden ist?)
oder
c) in der Speicherverwaltung - und zwar weniger im Erzeugen von vielen, 
kurzlebigen Objekten, sondern darin dem Garbage-Collector nicht genügend 
Speicher gegeben zu haben( -verbose:gc ), sodass es unnötig viele full 
garbage collections gibt.

Der Overhead vom Exceptionhandling ist jedenfalls in 99.9999999999999% 
aller Fälle kein Problem.

Aber wie immer: Wer nicht misst, liegt in der Regel falsch. 
Schau dur dazu am besten das Tool "JVisualVM" an und versuch dort einmal 
einmal mit dem Sampler und einmal mit dem Profiler deine Applikation zu 
vermessen und schau, wo die meiste Zeit drauf geht (Sampler und Profiler 
haben beide Vor- und Nachteile, der Sampler erwischt oft häufige sehr 
kurze Aufrufe nicht, der Profiler bläst ggf. kurze Aufrufe mit seinem 
eigenen Overhead auf).

Download hier: https://visualvm.java.net/

Gruß,
-Wanja-

-- 
..Alesi's problem was that the back of the car was jumping up and down 
dangerously - and I can assure you from having been teammate to 
Jean Alesi and knowing what kind of cars that he can pull up with, 
when Jean Alesi says that a car is dangerous - it is. [Jonathan Palmer]

Back to de.comp.lang.java | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-08 23:28 +0200
  Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-09 16:13 +0200
    Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-10 15:41 +0200
      Re: Rekursion bricht nicht ab Peter Büttner <not_for_mail_peb@gmx.net> - 2016-04-10 16:45 +0200
        Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-10 18:28 +0200
          Re: Rekursion bricht nicht ab Wanja Gayk <brixomatic@yahoo.com> - 2016-04-13 19:25 +0200
            Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-13 21:56 +0200
              Re: Rekursion bricht nicht ab Wanja Gayk <brixomatic@yahoo.com> - 2016-04-23 16:13 +0200
              Re: Rekursion bricht nicht ab Wanja Gayk <brixomatic@yahoo.com> - 2016-04-23 16:13 +0200
                Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-23 17:31 +0200
                Re: Rekursion bricht nicht ab Wanja Gayk <brixomatic@yahoo.com> - 2016-04-25 00:53 +0200
                Re: Rekursion bricht nicht ab Wanja Gayk <brixomatic@yahoo.com> - 2016-04-25 00:56 +0200
                Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-23 19:22 +0200
            Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-14 00:42 +0200
              Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-14 09:20 +0200
              Re: Rekursion bricht nicht ab Christoph Schneegans <Christoph@Schneegans.de> - 2016-04-14 18:47 +0200
              Re: Rekursion bricht nicht ab Wanja Gayk <brixomatic@yahoo.com> - 2016-04-23 16:13 +0200
                Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-25 12:07 +0200
                Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-25 17:38 +0200
                Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-25 22:36 +0200
                Re: Rekursion bricht nicht ab Wanja Gayk <brixomatic@yahoo.com> - 2016-04-28 08:26 +0200
      Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-10 22:15 +0200
        Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-12 15:46 +0200
          Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-12 18:32 +0200
            Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-13 20:44 +0200
              Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-14 12:07 +0200
                Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-23 13:35 +0200
                Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-23 14:57 +0200
                Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-25 23:05 +0200
                Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-26 01:16 +0200
                Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-23 16:05 +0200
                Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-25 12:48 +0200
  Re: Rekursion bricht nicht ab v_borchert@despammed.com (Volker Borchert) - 2016-04-10 06:07 +0000
  Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-10 15:40 +0200
  Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-11 11:21 +0200
    Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-12 15:57 +0200
      Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-12 18:28 +0200
        Re: Rekursion bricht nicht ab "Christian H. Kuhn" <qno-news@qno.de> - 2016-04-12 23:36 +0200
          Re: Rekursion bricht nicht ab Patrick Roemer <sangamon@netcologne.de> - 2016-04-25 21:42 +0200

csiph-web