Hej,
Har upptkt en skum grej i JAVA. Jag utvecklar en ganska berkningskrvande applikation som genererar ljud. Har dock haft problem med att programmet under utvecklingens gng blir en faktor 50 lngsammare. Har letat i tv veckor i koden efter felet/buggen som slar ner och hittat fljande:
Koden som r snabb:
Kod:
void CalcSoundFromInput(){
//ls in data in i en matris
double[][] MATRIS1= {matrisdata};
BERAKNA();
SPOTTA_UT_RESULTAT();
}
Koden som r 50 ggr lngsammare
Kod:
void CalcSoundFromInput(){
//ls in data in i en matris
double[][] MATRIS1= {matrisdata};
double[][] MATRIS2= {matrisdata};
BERAKNA();
SPOTTA_UT_RESULTAT();
}
Den enda skillnaden mellan berkningarna r att i den lngsamma koden lser jag in tv matriser.
Detta slar ner JAVA-koden med en faktor 50.
Jag har ven prvat att i stllet fr double matriser gra matriser av shorts i tron att spara minne skulle snabba upp koden. Men det verkar som att tv matriser (2st. 2dimensionella-arrayer) i koden oavsett datatyp och storlek slar ner koden.
Skulle vara tacksam om ngon kunde frklara hur det kan bli shr och hur jag kan gra fr att snabba p koden. r inte detta helskummt?