( XMI | 2006. 04. 03., h – 14:30 )

Ha megtalálom, mert mostanában elég sokat kavartam a különféle eclipse workspace-eimmel, és most per pillanat az elmentett workspace-ek egyikében sem találom.
Egyébként nem kell valami nagyon bonyolultat elképzelni, tömb lefoglalás, teleírás, láncolt lisa építés, végigjárás, meg egy saját kézzel implementált AVL fa feltöltés és bejárás volt.

Igazából főleg ilyesmikre voltam kíváncsi, hogy mekkora a memóriafoglalás, illetve egy attribútumhoz direkt hozzáférés vagy a get() set() metódusokkal hozzáférés a gyorsabb-e. Ami meglepő, hogy a get metódus nem ritkán gyorsabb a direkt hozzáférésnél, ami azt a gyanút veti fel, hogy esetleg erre speciálisan van valami optimalizáció beépítve a jre-be. Ha a gcc-ben nem kapcsolok be optimalizációt, akkor a c-s program itt csúnyán kikap a javastól, ha viszont bekapcsolok -O1 -et, akkor már kb azonos, bár érdekes módon elég nehezen reprodukálhatóak az eredmények. (pedig pont ezért minden teszt 2x fut le, hogy a complie, classload és hasonló overhead-ek csak az elsőben számítsanak)

A másik ami érdekelt, hogy az AVL fa hány elemtől kezd gyorsabb lenni a láncolt listánál. get()-re kb 6, put()-ra viszont átlagosan kb 30 elemnél fordul.

Majd ha megtalálom, akkor elküldöm, bár most nem ez a prioritás, mert most is éppen diplomamunkámmal kéne foglalkoznom ;)
---
Apparently the human mind is not unlike cookie dough.