SG.hu·

Az optimalizációt hiányolja a százdollá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.

Kapcsolódó cikkek és linkek

Hozzászólások

Jelentkezz be a hozzászóláshoz.

© BlackRose2006. 04. 06.. 18:39||#84
Maradatlanul egyetértek.
© MacrosTheBlack2006. 04. 06.. 18:10||#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.
© MacrosTheBlack2006. 04. 06.. 18:08||#82
Ennyi erõvel a windowsból is kiszedhetsz mindent, ott van pl a tinyxp, tehát "marhaság" hogy az xp elhízott. 😊
© BiroAndras2006. 04. 06.. 18:02||#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@n2006. 04. 06.. 17:03||#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.
© Sanyix2006. 04. 06.. 16:32||#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.
© BlackRose2006. 04. 06.. 16:08||#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.
© Tinman2006. 04. 06.. 13:49||#77
<#eljen>
© Tinman2006. 04. 06.. 13:47||#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@n2006. 04. 06.. 13:45||#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.