Avatar billede kenneth_breve Nybegynder
08. januar 2008 - 16:22 Der er 3 kommentarer og
1 løsning

Java programmeringsteknisk problem

Jeg sidder og er ved at udvikle en applet hvor jeg indlæser omkring 100.000 målinger i et array, med ca. 3 data tilknyttet hver måling.

Jeg er bange for at min applet bliver sløv. Derfor vil jeg gerne vide om der i java er stor hastighedsmæssigt forskel påat arbejde med:

1.dimensional array i denne størrelse i forhold til

3.dimensional array's


Det 1. dimensionelle array indeholder samme antal data som det 3 dimensionelle. Derfor er det 1.dimensionelle selvfølgelig 3 gange længere.


Hvad med arraylister i denne størrelse, hvad siger java til det?


Er der noget jeg skal passe på med, i forhold til hastigheden på appleten?
Avatar billede arne_v Ekspert
08. januar 2008 - 16:56 #1
Forskellen paa om Java regner 3 index om til offset eller du selv goer det boer
vaere minimal.

300000 elementer (af simple data typer - ikke 1 MB objekter !) er en lille data maengde
og hverken array eller array list boer have problemer med det.
Avatar billede kenneth_breve Nybegynder
08. januar 2008 - 19:57 #2
Okay... tak for svaret

smid et svar
Avatar billede arne_v Ekspert
09. januar 2008 - 01:47 #3
Du kan altid regne på hvor data opholder sig.

Din PC har f.eks.:

4 general purpose registre
16 KB L1 cache
1 MB L2 cache
1 GB RAM
320 GB harddisk

hvis du f.eks. har 300000 int som fylder 1.2 MB så vil de på ovenstående PC cykle rundt
i L2 cache og RAM.

Og det bør derfor gå rimeligt hurtigt.
Avatar billede arne_v Ekspert
09. januar 2008 - 01:47 #4
Og et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester