Gyurkity Péter

Az ­opti­mali­zá­ci­ót hiányolja a száz­dol­láros laptop atyja

Valószínűleg sokak egyöntetű véleményét fogalmazta meg Nicholas Negroponte, aki a napokban zajló LinuxWorld konferencián elítélte a szoftverfejlesztőket egyre nagyobb és lassabb termékeikért.

A százdolláros laptop és egyben a One Laptop Per Child (Gyermekenként Egy Laptop) projekt atyja szerint megengedhetetlen, hogy a szoftvercégek egyre nagyobb és terjedelmesebb szoftvereket készítenek, amelyek a hardver rohamosan növekvő teljesítménye ellenére is folyamatosan romló mutatókat produkálnak. Ennek fő okaként a túlzott bonyolultságot, illetve a hatékonyság szempontjának elhanyagolását jelölte meg a szakember.

"Eljutottunk arra a pontra, ahol a szoftverek soron következő verziója érzékelhetően rosszabb a korábbiaknál. Nemrég szereztem be a földkerekség leggyorsabb, legerősebb laptopját, amely életem leglassabb, legmegbízhatatlanabb masinájának bizonyult" - jelentette ki némi túlzással Negroponte, a Bostonban zajló LinuxWorld konferencián elhangzott beszédében. Ez természetesen élesen szemben áll az MIT filozófiájával, amely elsősorban a szegényebb, fejlődő országok helyzetén szeretne segíteni olcsó, valóban elérhető és mobil eszközök kifejlesztésével. Ehhez elengedhetetlen a megfelelő szoftver, azonban a beszéd alapján ennek még igencsak híján vagyunk.

Elmondása szerint évekkel ezelőtt folyton azon viccelődött hogy minden egyes alkalommal, amikor az Intel gyorsabb processzort dob piacra, a Windows a teljesítmény jóval nagyobb részét emészti fel. Mára azonban egyértelművé vált számára, hogy a nyílt forráskódú platformok, így a Linux sem áll jobban ezen a téren. Szerinte az alternatív operációs rendszer is "elhízott", így a megoldást egy új koncepció jelentheti, amely a gyors, kicsi és egyszerű gépekre helyezi a hangsúlyt.

Ebbe a koncepcióba illeszkedik a százdolláros laptop, amely azonban - minő meglepetés - éles kritikát váltott ki egyes cégek részéről. Elsőként éppen az Intel hangoztatta kifogásait a kezdeményezéssel kapcsolatban - a processzoróriás szerint a megoldást a hagyományos PC-khez hasonló, alapvető alkatrészekre épülő konfigurációban kell keresni, mivel ezek a primitív eszközök soha nem váltották be a hozzájuk fűzött reményt.

Hozzászólások

A témához csak regisztrált és bejelentkezett látogatók szólhatnak hozzá!
Bejelentkezéshez klikk ide
(Regisztráció a fórum nyitóoldalán)
  • BlackRose #84
    Maradatlanul egyetértek.
  • MacrosTheBlack #83
    Hááát... én AI-nak azt nevezném amikor a gép realtimeban gondolkodik, egy előre lescriptelt napi teendőlista az csak script.
  • MacrosTheBlack #82
    Ennyi erővel a windowsból is kiszedhetsz mindent, ott van pl a tinyxp, tehát "marhaság" hogy az xp elhízott. :)
  • BiroAndras #81
    "zerintem az optimalizáció nem a fejlesztő dolga ([...]), hanem a fordítóprogramé."

    Ez csak részben igaz. A fordító tudja optimalizálni a kódot alacsony szinten, de nincs befolyása a magasabb szintekre.
    Pl. Nem tud mit kezdeni azzal, hogy egy sztring paramétert konstans referencia helyett érték szerint adsz át.
    De ami még fontosabb, nem tudja helyetted optimalizálni az algoritmusaidat. Nem tud egy beszúró rendezést qsort-ra, vagy a tömbödet hashmap-re cserélni.
    Ezen kívül ahhoz, hogy a fordító jól tudjon optimalizálni, egy csomó fontos szabályt be kell tartani. És további trükkökkel lehet még segíteni neki.
    Figyelni kell pl. olyan dolgokra, hogy a CPU cache-be beférjen az adat, ha lehet, mert akkor sokszor gyorsabb a feldolgozás.
    Ahhoz, hogy ezeket az ember mind tudja, és képes legyen megfelelően alkalmazni, rengeteg tanulás, és még több gyakorlás kell.
  • Yv@n #80
    Nem arról van szó. Csak felhoztad, mint hatalmas gépigényre magyarázatot a kiválló AI-t. Kiválló AI nyomokban sem található meg a játékban, ez lett volna a mondanivalóm lényege.
  • Sanyix #79
    És a farcry-ban meg a többi iqlight fps-ben mi van? Nem külömbek azok sem full script az egész. Mindegyikben ugyanaz: grafika, és más semmi... ezért untam meg pár éve a sima fpseket.
  • BlackRose #78
    Érdekes, optimizáltabb kódot lehet írni, most a jelenlegi fejlesztőkörnyezetekben pl. .NET, Java is, de egy OS hardware-igénye nem ettől függ, mert az OS alapjában nem .NET-ben vagy Java-ban van megírva. Viszont a baj ott van, hogy ma nagyon kevés a programozó, ma mindenki hipergyors tanfolyamok, 3-4 éves egyetemen vagy 1-2 Mastering XYZ in 21 days féle karierr-szerzőktől származó könyvből tanult. Azok a programozók akik igazán tudják, értik a dolgokat akik nem csak dumában tudnak kódolni azok kevesen vannak és komolyan kétlem, hogy egy 100 dollcsis gép kifejlesztésénél megfizethetőek lennének. Tehát itt olcsóért akarunk minőséget, ez tiszta utópia, akkor amikor még drágáért sem tudunk minőséget előállítani, mert van egy nagy project, kellenek hozzá fejlesztők, a papíron ugyan mindegyik 999 dologhoz szakember, de amikor elkezdesz dolgozni velük akkor veszed észre, hogy valójában édes kevés dologhoz értenek átfogóan, hogy nem tudják mi a lista vagy a binary tree, hogy nem értik az objekt orientált fejlesztés alapjait, hogy amikor egy SQL queryt szerksztenek akkor annak futtatása 77x több időt vesz igénybe mint ha optimizálva lenne, hogy sokszor magát az adatbázisokat sem képessek normalizálni, hogy a szemantikát a programlogikával akarják megoldani, pedig az az adatbáziskezelő dolga, és ezek még mind a gyengébb területek. Egy rendszerptogramozónak sokkal nehezebb a dolga, sokkal több tudást kell hozzá, de te ott állsz és nézel, mert sajnos ez a legjobb ami van, jobb nincs, de már így is drága, mert igaz, hogy 3x olcsobban dolgoznak mint a felső kategória, de 5x kevesebb a produktivitás, 12x több hibát csinálnak 3x igényesebb lesz a software a hardware-vel tekintetben stb. Szóval ez a valóság és ettől nem lehet megszökni, főleg nem rövidtávon. Optimizáltabb kódot kérni kevesebb pénzért a meglévő IT oktatáson alapuló "shoot, aim, ready" környezetben egyenessen határos az értelmetlenségel. Szóval a felsőbbszíntű nyelvek és fejlesztői környezetek nem hibássak a gyengébb programozásért, hanem éppen fordítva részben a gyenge programozók miatt jöttek létre megpróbálva megoldani a fejlesztők és itt hangsúlyoznám sokszor a jó fejlesztők hiányát. Jó fejlesztő .NET-ben és Java-ban is optimizált kódot ír, persze az közel sem olyan optimizált mint amilyen lehet C-ben vagy assembly-ben, de a hardware ezt kompenzálja általában. Más kérdés, hogy valaki lehetetlenséget akar csinálni 100 dollárért, akkor ugye minndennel baj van, és hol lehet elméletileg lefaragni a legtöbbet a software-ből, pedig fenét, éppen ott lehet a legkevesebbet, a software nélkül a hardware nem ér semmit, a szoftware funkciónalitása pedig fordítottan arányos az optimizációval ha a meglévő erőforrásokat figyelembe vesszük. Tehát nem ártana egy picit megkérdezni a valós IT világ résztvevőit, hogy az ami egy egyetemi katedráról esetleg logikus és igaz, a valóságban sokszor sajnos nem igen állhat stabil talajra.
  • Tinman #77
  • Tinman #76
    Kérdésedre a válasz: script.
    Akkor lenne AI-ra emlékeztető valami, ha teszem azt a szokott útvonala elé tennél egy ládát és nem megkerülné hanem rácsodálkozna, vagy ha harcos akkor esetleg mérgében szétverné, ha varázsló akkor elteleportálná az útból... de ez a megkerülés egy egyszerű útkereső algoritmus /A-ból B-be a legrövidebb úton/.

    Ettől függetlenül harc közben korrektül viselkedik az AI, meg bizonyos dolgokra is egész jól reagálnak de ez sincs túlbonyolítva.
    Jó példa az "ostoba" AI-ra, ha felmászol 1 ház tetejére és elkezded onnan lőni az enemyt... fut jobbra-balra, néha megáll, néha beleolvad a tereptárgyba, falakba -így tovább nem tudod lőni, esetleg vissza kiverekszi magát stb.
  • Yv@n #75
    Leginkább talán scriptelt útvonal bejárása?

    Csak azért reagáltam le egyáltalán az elején, mert nekiálltál fényezni, hogy mennyire ai, és mennyire nem említhető egy lapon a far cry-al, hisz az csak szép. Namost a far cry tereptárgyakat kihasználni próbáló, harc közben valamellyest taktikázó ai-ját én némileg többre tartom ennél, ahol a mob harc közben összevissza rohangál, és a legegyszerűbb trükkökkel is kijátszható.(pl. távolról sebző egység, ha álsz egy fal vagy bármi takarás mellett, és ki-be szaladgálva osztod rá az áldást, eszébe nem jutna hogy közelebb jöjjön)

    Az amit te az oblivionban ai-ként véltél felismerni, leginkább 90%ban scriptelt esemény. Ami igen gyakran képes erős bughalomba fulladni, tolvajként ez nálam gyakori quickload-ot eredményezett sajnos, így nem tudok felette nem es egyszerűséggel szemet hunyni.

    Ettől még jó játék, de csak azért mert szépen csillog, és képes valami pozitívat felmutatni a mostani gyenge felhozatalban belátható, hogy rengeteg hibát tartalmaz.