/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
Javacompiler til native code
Fra : Henning Wangerin


Dato : 24-01-05 16:07

Hejsa!

Hvad findes der af "normale" compilere til java? Jeg er på jagt efter
en compiler så jeg kan få oversat et java-projekt til native linux og
native windows kode.

Projeketet kræver større hastighed end jeg har kunne trække ud af
JVM'en, så derfor er der kun ko muligheder:

1) Få skidtet kompileret direkte til de platforme det skal bruges på:
Linux og Winblows.

2) Få det porteret til fx c++ og gå videre derfra.

Den sidste er jeg egentlig lidt ked af da dele af projektet skal kunne
køre via applets på en hjemmeside, og det er jo lidt nemmere med java.

Hvem har nogle gode forslag?

MVH
Henning

 
 
Nikolaj Hansen (24-01-2005)
Kommentar
Fra : Nikolaj Hansen


Dato : 24-01-05 16:34

Henning Wangerin wrote:
>
> Hvem har nogle gode forslag?
>


GCJ? GCC's java del?

http://gcc.gnu.org/java/

mvh

Nikolaj Hansen

Brian Matzon (24-01-2005)
Kommentar
Fra : Brian Matzon


Dato : 24-01-05 17:23

Henning Wangerin wrote:
> Hvem har nogle gode forslag?
Det er svært at komme med forslag, da du ikke har beskrevet hvad
problemet reelt er...

Men umiddelbart kan du jo bruge JNI til de kritiske elementer.

/matzon

Thorbjoern Ravn Ande~ (24-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 24-01-05 19:15

Henning Wangerin <news_via_pan+041124@hpc.dk> writes:

> Hvem har nogle gode forslag?

Start med at finde ud af hvorfor det ikke er hurtigt nok, fx med en
profiler, og vurder så om det overhovedet er muligt at få det hurtigt
nok fx i C++.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Nikolaj Hansen (25-01-2005)
Kommentar
Fra : Nikolaj Hansen


Dato : 25-01-05 00:34

Thorbjoern Ravn Andersen wrote:

> Start med at finde ud af hvorfor det ikke er hurtigt nok, fx med en
> profiler, og vurder så om det overhovedet er muligt at få det hurtigt
> nok fx i C++.

Nu bliver der selvfølgelig ikke sagt det store om, hvad systemet kan /
gør, men hvis det er meget algoritme tungt, så er der altså stor gevinst
at hente performance mæssigt i C++. Det er heller ikke en fair
sammenligning native vs. fortolket.

Som java fan er man næsten nødt til at indrømme det ;-D

Jeg kan 100% tilslutte mig din foreslåede fremgangsmåde.

mvh

Nikolaj Hansen

Thorbjoern Ravn Ande~ (25-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 25-01-05 12:46

Nikolaj Hansen <barnabasdkSPAM@yahoo.dk> writes:

> Nu bliver der selvfølgelig ikke sagt det store om, hvad systemet kan /
> gør, men hvis det er meget algoritme tungt, så er der altså stor
> gevinst at hente performance mæssigt i C++. Det er heller ikke en fair
> sammenligning native vs. fortolket.

Selvfølgelig skal Javakode optimeres hvis det ikke kører hurtigt nok.
Jeg læste en phd/kandiat-opgave desangående for nyligt, hvor
konklusionen var at forskellen med moderne hotspots var meget beskeden
(naturligvis givet at koden var tunet og at hotspotten havde fået lov
tilat fungere). Jeg kan ikke hitte den lige nu.

Bygger du dit udsagn på egne erfaringer?

> Jeg kan 100% tilslutte mig din foreslåede fremgangsmåde.

Man kan jo ikke løse problemet, førend man ved hvad det er.
--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Nikolaj Hansen (25-01-2005)
Kommentar
Fra : Nikolaj Hansen


Dato : 25-01-05 20:58

Thorbjoern Ravn Andersen wrote:
> Bygger du dit udsagn på egne erfaringer?

Ja, jeg arbejder med Java/J2EE til daglig. Dog kan man ikke generalisere
og sige at java altid er langsomt. Det er der nogen der ynder.

Efter min erfaring er sorteringer noget, der virkelig kan vise forskellen.

http://verify.stanford.edu/uli/java_cpp.html

Jeg ved godt den ikke er helt ny, java er blevet hurtigere i de nye
versioner, men undersøgelsen er stadig brugbar da der kører rigtig mange
systemer på jdk1.3.x stadigvæk.

Jeg tror også forskellen stadig er der, selvom den er blevet mindre.

mvh

Nikolaj Hansen

Thorbjoern Ravn Ande~ (25-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 25-01-05 23:25

Nikolaj Hansen <barnabasdkSPAM@yahoo.dk> writes:

> http://verify.stanford.edu/uli/java_cpp.html
>
> Jeg ved godt den ikke er helt ny, java er blevet hurtigere i de nye
> versioner, men undersøgelsen er stadig brugbar da der kører rigtig
> mange systemer på jdk1.3.x stadigvæk.

Jeg kiggede kort på siden og Array-udgaven af bubblesort.

Ud fra visuel inspektion ligger flaskehalsen i at Javakoden ikke er
optimeret - jeg tror ikke det er en god ide at overføre en Comparator
i Java hvis man ønsker hastighed.

I dag er der jo Arrays.sort, som ville være en oplagt optimering.

> Jeg tror også forskellen stadig er der, selvom den er blevet mindre.

Jeg prøver at se om jeg kan genfinde det jeg læste. Det var temmeligt
overbevisende.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Thorbjoern Ravn Ande~ (25-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 25-01-05 23:36

Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:

> Jeg prøver at se om jeg kan genfinde det jeg læste. Det var temmeligt
> overbevisende.

Jeg mener bestemt det er den her:

http://www.rolemaker.dk/articles/evaljava/Evaluating%20Java%20for%20Game%20Development.pdf

Selv om den er fra 2002, er den absolut læseværdig.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Søren Reinke (25-01-2005)
Kommentar
Fra : Søren Reinke


Dato : 25-01-05 23:51


> Jeg mener bestemt det er den her:
>
> http://www.rolemaker.dk/articles/evaljava/Evaluating%20Java%20for%20Game%20Development.pdf
>
> Selv om den er fra 2002, er den absolut læseværdig.
>

Mange tak for linken, det ser ud som om det er spændende læsning til
næsten gang jeg skal køre langt i tog

Hilsen Søren som synes det er rart at nogle sætter {}'ere på den
læselige måde

Henning Wangerin (25-01-2005)
Kommentar
Fra : Henning Wangerin


Dato : 25-01-05 09:22

On Mon, 24 Jan 2005 19:15:11 +0100, Thorbjoern Ravn Andersen wrote:

> Henning Wangerin <news_via_pan+041124@hpc.dk> writes:
>
>> Hvem har nogle gode forslag?
>
> Start med at finde ud af hvorfor det ikke er hurtigt nok, fx med en
> profiler, og vurder så om det overhovedet er muligt at få det hurtigt
> nok fx i C++.

Jeg har lavet nogle små tests i java, og de imponerer absolut ikke.

Jeg sidder med det dillema at dele af projektet skal køre via en webside,
samtidig med at funktionaliteten også findes i selve applicationen. Det
er derfor jeg har kig på java, for at undgå at skulle opfinde den dybe
tallerken to gange.

De seje dele af projektet findes (endnu) ikke i java, og i den gamle
version i pascal fylder de ca 75000 linier, så det er ikke bare noget der
porteres i løbet af en eftermiddag!


Thorbjoern Ravn Ande~ (25-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 25-01-05 12:50

Henning Wangerin <news_via_pan+041124@hpc.dk> writes:

> Jeg har lavet nogle små tests i java, og de imponerer absolut ikke.

Det kan der jo være mange grunde til. Ved små tests er en mulig årsag
at de simpelthen ikke kører længe nok til at javasystemet når at
optimere det.

> Jeg sidder med det dillema at dele af projektet skal køre via en webside,
> samtidig med at funktionaliteten også findes i selve applicationen. Det
> er derfor jeg har kig på java, for at undgå at skulle opfinde den dybe
> tallerken to gange.

FOrnuftigt nok. Er der krav om at det skal køre på alle platforme,
eller kun på fx Windows eller LInux. Er arkitekturen givet, kan du jo
bare lave en plugin med din pascalkode, som du så finder en passende
compiler til. Jeg mener at fx FreePAscal laver god kode under både
Windows og diverse Unixvarianter.
>
> De seje dele af projektet findes (endnu) ikke i java, og i den gamle
> version i pascal fylder de ca 75000 linier, så det er ikke bare noget der
> porteres i løbet af en eftermiddag!

Hvis den porterede udgave er tidskritisk, så kan det måske betale sig
at bygge et nyt program der kan det samme ud fra en reverse
engineering, istedet for bare blindt at portere.

Flere detaljer, tak.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Henning Wangerin (26-01-2005)
Kommentar
Fra : Henning Wangerin


Dato : 26-01-05 11:16

On Tue, 25 Jan 2005 12:50:16 +0100, Thorbjoern Ravn Andersen wrote:

> Henning Wangerin <news_via_pan+041124@hpc.dk> writes:
>
>> Jeg har lavet nogle små tests i java, og de imponerer absolut ikke.
>
> Det kan der jo være mange grunde til. Ved små tests er en mulig årsag
> at de simpelthen ikke kører længe nok til at javasystemet når at
> optimere det.

Det er selvfølgelig en fejlmulighed der skal med i overvejelserne

> FOrnuftigt nok. Er der krav om at det skal køre på alle platforme, eller
> kun på fx Windows eller LInux.

Det er ikke et spørsmål om enten linux eller windows. Det _skal_ junne
køre på begge platforme, men allerhelst også som minimum også mac.
Helt platform-uafhængigt er jo nok alt for stor en opgave. Min muligheden
for flere platforme er et meget stort plus.

> Er arkitekturen givet, kan du jo bare lave en plugin med din pascalkode,
> som du så finder en passende compiler til. Jeg mener at fx FreePAscal
> laver god kode under både Windows og diverse Unixvarianter.

Duer desværre nok ikke. Dels er der dele af koden som koden ikke findes
til, min kun BVorlandPascal unit-files, og leverandøren findes ikke mere
(hvad lærer man af det )

> Hvis den porterede udgave er tidskritisk, så kan det måske betale sig
> at bygge et nyt program

Ikke som sådan tidstritisk set som et realtime problem, men det
indeholder en del tunge funktioner, som blot tager meget lang tid at
udføre, og min forsøg i java er ikke imponerende.

En meget stor del af systemet skal skrives om alligevel af forskellige
årsager - det nyværende system har efterhånden fået en mængde
begrænsninger pga alderen og de designkritterier der var aktuelle dengang
(midten af 90'erne

> der kan det samme ud fra en reverse engineering,
> istedet for bare blindt at portere.

Reverse engwenering bliver rimelig nemt. Jeg har selv skrevet det
originale system for knap 10 år siden, og har jævnlig arbejdet med det
siden



Thorbjoern Ravn Ande~ (26-01-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 26-01-05 13:12

Henning Wangerin <news_via_pan+041124@hpc.dk> writes:

> Reverse engwenering bliver rimelig nemt. Jeg har selv skrevet det
> originale system for knap 10 år siden, og har jævnlig arbejdet med det
> siden

Det bedste forslag jeg så kan stille dig, hvis du er skiftet for
nyligt fra Pascal til Java (mit gæt) er at du laver det så godt du kan
i Java, og så måler når du er færdig.

Hvis du ikke har kodet ret meget i Java, kender du ikke de genveje som
kan få Java til at flytte sig - her er der meget synlige forskelle fra
fx 1.2 til 1.4. I 1.2 var et new-kald meget dyrere end det er i 1.4,
men det betyder ikke at man ukritisk skal kalde new i dag. Og andre
lignende ting.

Forventer du allerede nu at der bliver et performanceproblem er en GOD
profiler uundværlig. Den fra Borland har jeg hørt meget godt om, men
den er ikke billig.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn

Per Madsen (26-01-2005)
Kommentar
Fra : Per Madsen


Dato : 26-01-05 13:18

Thorbjoern Ravn Andersen <nospam0000@c.dk> writes:
> Forventer du allerede nu at der bliver et performanceproblem er en GOD
> profiler uundværlig. Den fra Borland har jeg hørt meget godt om, men
> den er ikke billig.

Quest Software har en freeware profiler. Jeg har ikke selv prøvet den, men den ser da meget lovende ud.

http://www.quest.com/jprobe/

Er der nogen der har konkrete erfaringer med Jprobe?

Mvh Per

--
Per Madsen
Ph.D. Student, Aalborg University
Department of Computer Science
Fredrik Bajers Vej 7E, E4-206
Aalborg East, Denmark
Phone: +45 9635 9831
Homepage: http://www.cs.aau.dk/~madsen

Nikolaj Hansen (26-01-2005)
Kommentar
Fra : Nikolaj Hansen


Dato : 26-01-05 18:02

Per Madsen wrote:
> Er der nogen der har konkrete erfaringer med Jprobe?
>

Ja, vi bruger den på min arbejdsplads. Det er et godt værktøj, og kan
sikkert sammenlignes med eks. Borlands.

Freeware? Det er vist kun til uddannelses og forskningsformål - hvis man
bruger den komercielt koster den kassen.

Jeg mener vi gav 30K+ for vores one seat installation.

mvh

Nikolaj Hansen

Nikolaj Hansen (26-01-2005)
Kommentar
Fra : Nikolaj Hansen


Dato : 26-01-05 18:05

Nikolaj Hansen wrote:
> Freeware? Det er vist kun til uddannelses og forskningsformål - hvis man
> bruger den komercielt koster den kassen.

Hmm har lige checket deres "freeware" licens - det er vist det andre
kalder en trial.

Det ville også ligne quest meget dårligt at give deres software væk.

mvh

Nikolaj Hansen

Per Madsen (27-01-2005)
Kommentar
Fra : Per Madsen


Dato : 27-01-05 20:52

Nikolaj Hansen <nico@mailinator.com> writes:

> Nikolaj Hansen wrote:
> > Freeware? Det er vist kun til uddannelses og forskningsformål - hvis
> > man bruger den komercielt koster den kassen.
>

Du har ret. De bruger begrebet freeware lidt anderledes end hvad jeg normalt ville forvente.

Nå, men man kan da ganske gratis prøve deres produkt

Mvh Per

--
Per Madsen
Ph.D. Student, Aalborg University
Department of Computer Science
Fredrik Bajers Vej 7E, E4-206
Aalborg East, Denmark
Phone: +45 9635 9831
Homepage: http://www.cs.aau.dk/~madsen

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste