Keresés

Új hozzászólás Aktív témák

  • tobal

    tag

    válasz attila9988 #211 üzenetére

    Amúgy azért kell a natív programok alá egy kernel meg rakás könyvtár, csak ezt természetesnek vesszük

    Azért a natív programok alatt lévő könyvtárak meg a kernel nem okoz akkora késleltetést, mint egy virtuális gép :).

    Mellesleg C -ben nem feltétlenül kell egy rakás alap, pl kernel -t sem úgy írnak benne, hiszen nem is lenne honnan belinkelnie ezeket betöltés közben.

    De, igen, kell egy rakás alap, mert kernelt csak kevesen írnak benne. Nyilvánvaló, hogy az eredeti megjegyzés nem magára a kernelre vonatkozott.

    Egyébként OS szinten hogy oldanád meg a GC -t ha egyszer a java vm -en fut a programod?

    Ha OS szinten meg lenne oldva, akkor a JVM nem bohóckodna vele.

    Egyébként nem vagyok egy Java fan, én inkább a hardverközeli nyelveket szeretem, de pl. mi is használunk java-t olyan helyen, ahol nem is gondoltam volna: beágyazott rendszeren. Persze ne hűtőgépre gondoljatok, amibe belekúrnak egy 8051-et, és kész. Ez egy elég masszív valós idejű rendszer, teljesen moduláris hardverrel (több tucatnyi kártya, minden kártyán külön processzor, memória, flashdisk, portok, stb). Erre van írva egy JVM, és meg kell mondjam, hogy hozza az elvárt szintet. Persze még mindig ez a leglassabb része a rendszernek (minden más C/C++-ban vagy ASM-ben van írva), de nem igaz az, hogy tetű lassú lenne.

    [ Szerkesztve ]

  • ddekany

    veterán

    válasz attila9988 #211 üzenetére

    "Mellesleg C -ben nem feltétlenül kell egy rakás alap"

    Ha alkalmazásokról beszélünk, akkor de. Csak hát a kernel és gyakran használt C könyvtárak már eleve be vannak töltve.

    (GC) "És zabálja a memóriát, és a cpu időt."

    A memóriát eszi jobban. De CPU időben általában takarékosabb mint a hagyományos heap kezelés, mert ritkán takarít de akkor nagyot és hatékonyan. Viszont ekkor megakaszt dolgokat kis időre, ami pl. játékban/multimédiában gáz lehet.

    "Egyébként OS szinten hogy oldanád meg a GC -t ha egyszer a java vm -en fut a programod?"

    Ha a kernel szolgáltatásai közt lenne GC-s heapben foglalás, akkor azt hívná a VM a saját megoldása helyett.

    "A nyelv hatékonysága abból is fakad, hogy úm. "nincs kinyalva a programozó segge""

    Csak épp a C++ sebessége a kinyalással (ami mondjuk elég reszelős nyelvvel történik... nem épp Java/C#) együtt is közel ugyanakkora. Nyilván nagyon de nagyon kritikus részeken csínján bánsz egyes C++ képességekkel. Én azt mondom, a C mai napig tartó elképesztő népszerűségében nem kicsi a szerepe a kőagyúságnak meg FUD-nak. Egyszerűen nem igaz, hogy ennyien kernelt írnak, meg erősen megszorításos beágyazott cuccokat.

    "Persze ha kell gyorsan valami server program, akkor nyilván java -ban állnak neki"

    Amúgy a Java az webes szerver programozásban pont az alacsony szintű de viszont állati gyors kategória. De nem kicsit a leggyorsabb, hanem messze... Na persze, ott napi 24 órában fut ugyan az a JVM, és darálja ezresével a látogatókat. Kis oldalnál meg unatkozna napi 24 órában egy kupac RAM tetején, szóval oda nem jó.

    "Azért mutathatna nekem valaki olyan desktop -ra vagy arra is szánt java -s cuccot, ami nem lassú mint a tetű."

    Kellene egy C/C++ egyenértékű alkalamzás amivel összevetem... Anélkül nehéz ítélni. Ja, indulási idő nem ér, az beismerten tetű.

  • ddekany

    veterán

    válasz attila9988 #211 üzenetére

    "Ha a programozó gondoskodik ezekről a dolgokról, akkor nem kell gc -zni. Persze könnyebb programozni ha kevesebb dologra kell figyelni."

    A programozással az a baj, hogy általában mindig lehetne még min dolgozni, soha sincs vége... Tehát nem tudsz úgy áldozni valamire időt, hogy ez ne menjen valami más funkcionalitás rovására. Dönteni kell... Memória kezeléssel akarsz tökölni, vagy inkább ahelyett beteszel +N fícsört, esetleg mást optimalizálsz.

Új hozzászólás Aktív témák