bille schreef op 22 September 2003 @ 17:35:
Waar ik op doelde: de methode die de TS gebruikt voor het het werken met multidimensionale arrays is niet een geoptimaliseerd algoritme. Bijv: wat doe je als je een array gaat kopieren? of het toevoegen van een object aan een array. Je kan het zelf programmeren, maar als je niet een wiskundige bent raad ik je dat af.
dat is niet een verschil in taal, maar een verschil in het gebruik van libraries. Java vs. C++ is dan ook totaal niet relevant. In C++ heb je de STL, die met een zooi containers komt. Pak daar boost bij, en je hebt ook nog eens multidimensional containers. En ja, het is natuurlijk wel een kwestie van de juiste container kiezen voor de juiste taak, maar de taal is dan compleet niet meer relevant. Je hebt het dan immers over algoritmen.
Om nog maar te zwijgen over het feit dat als je met ontzettend grote hoeveelheiden data werkt in de arrays je in C++ handmatig je geheugen moet gaan schoonmaken

of zeg ik nou iets heels stoms

In java gebeurt dat idd onder water, maar dat is overigens helemaal geen probleem als je een wat ervarender programmeur bent. Maar dat maakt Java wel gelijk bloated en wat instabieler kwa timing, omdat je geen controle hebt over wanneer je je geheugen vrij wilt geven.
maar goed.. genoeg offtopic gemeuk, deze discussie gaat door totdat we met harde bewijzen komen waarschijnlijk.. en die zijn een stuk moeilijker te procuderen dan alleen maar ff een arraytest proggie draaien.. want zoals ik zeg: je programma doet niet alleen iets met arrays.. er zijn meer factoren die invloed hebben op de totale performance.
http://www.oisyn.nl/homeboxx/ 
Array snelheid zijn voor het tekenen van de view essentieel voor die applet. Een leuk weetje: er wordt (zoals gewoonlijk) gebruik gemaakt van een z-buffer op per pixel diepteinformatie bij te houden. Dat is gewoon een lineaire array. De access van de z-buffer tijdens het tekenen zorgt gewoon voor een daling van
bijna factor 2 in snelheid. Oftewel, als ik de zbuffer wegcomment dan loopt de app bijna 2x zo snel. En dat voor simpelweg een waarde opvragen uit een array, en die evt. weer aanpassen! Dat is gewoon niet normaal! De rede hiervoor is mijns inziens gewoon de checks voor de index, dat zijn natuurlijk 2 compares en conditional jumps per array access, en dat voor 2x een arrayaccess (1x lezen, en evt. nog 1x schrijven) doet het het hele renderproces de das om
Multitexturing is in zo'n geval gewoon onbegonnen werk. De rekencapaciteit is er wel, maar het is gewoonweg veel en veel te traag om er nog een array bij te hebben voor de andere texture
owja: ik heb het wel met je eens dat er idd wel een zooi trage java apps zijn.. maarja... niet iedereen kan goed programmeren helaas.. er wordt echt veel zooi gemaakt door omgeschoolde politieagentjes die van toeten-nog-blazen weten

gelukkig hoef ik me niet te orienteren op voorbeelden van anderen, ik heb eigen ervaringen met zowel C++ als Java