toddy23 Skrevet 7. oktober 2006 Del Skrevet 7. oktober 2006 Stemmer du har rett Mr.Garibaldi. Min feil, den rekursive metoden min var ikke halerekursiv. Jeg skrev en ny en som jeg vet er halerekursiv med og den gir nesten de samme tidene som den rekursive. Altdå 2 ganger tregere Både med java og gcj. static int fakTail(int n, int accumulator) { return n == 1 ? accumulator : fakTail(n-1, accumulator * n); } Lenke til kommentar
steingrim Skrevet 7. oktober 2006 Del Skrevet 7. oktober 2006 Send en mail til Sun da, java 5.0 optimerer ikke bort halerekursjon, bare test løsningsforslaget mitt ovenfor. IBM sin JVM gjør dette JIT, merkelig at Sun ikke gjør det, men jeg tror deg så gjerne. Foresten heter slike språk som du refferer til Funksjonelle språk Jeg vet veldig godt hva funksjonelle språk er ja Og ja, off-topic er det vel kanskje blitt. Lenke til kommentar
Mr.Garibaldi Skrevet 8. oktober 2006 Del Skrevet 8. oktober 2006 Stemmer du har rett Mr.Garibaldi. Min feil, den rekursive metoden min var ikke halerekursiv. Jeg skrev en ny en som jeg vet er halerekursiv med og den gir nesten de samme tidene som den rekursive. Altdå 2 ganger tregere Både med java og gcj. static int fakTail(int n, int accumulator) { return n == 1 ? accumulator : fakTail(n-1, accumulator * n); } 7019302[/snapback] Pussig. Takk for at du gadd å undersøke dette såpass grundig! Jeg lenger meg langstrak, og skal ikke lenger foreslå rekursive metoder i java, når man kan bruke en løkke. (Selv om jeg synes det ser penere ut ) Lenke til kommentar
toddy23 Skrevet 8. oktober 2006 Del Skrevet 8. oktober 2006 Ikke noe problem. Bra vi kom til enighet. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå