- A hozzászóláshoz be kell jelentkezni
- 3933 megtekintés
Hozzászólások
Ezek azok a dolgok, amikről egy programozónak nem kell tudnia. Ha a cím igaz volna, akkor nem volnának, és nem is lehetnének programok. Nyilván nem programozó a pofa.
--
CCC3
- A hozzászóláshoz be kell jelentkezni
Legalább az absztraktot elolvastad?
- A hozzászóláshoz be kell jelentkezni
Szerintem hasznos, de azt el kell ismerni, hogy nagyon messzirol fut neki a ficko.
--
Aki falra szerelt tehennel vitatkozik, olyan mint vonat kerek nelkul, nem jut sehova.
- A hozzászóláshoz be kell jelentkezni
Nem teljesen értek egyet veled. A programozók egy részének szüksége van rá. Azoknak, akiknek teljesítményorientált dolgokat kell készítenie. És itt most nem az übergiga 100 GL eszközökkel dolgozókra gondolok elsősorban, hanem azokra, akik alájuk rakják a rendszert.
szerk.: Ez az a felfogás, amiért olyan az M$ világ amilyen.
- A hozzászóláshoz be kell jelentkezni
Ez a felfogas nem csak az Microsoft vilagra nyomja ra a belyeget.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Well... Szerintem ez a cucc kell a fordítóprogram-készítőknek, akik jól felhasználhatják arra, hogy a világ nem-fordítóprogram-készítői elől el tudják dugni ezt az egészet...
- A hozzászóláshoz be kell jelentkezni
Az a baj, hogy nem tudod eldugni. Sokan, regota probaljak, de nem megy. Itt-ott felbukkan, keresztbetesz, es akkor az average hatulogombolos RAD programozo nem tud vele mit kezdeni. Pedig minimalis dolgokra kene figyelni fejleszteskor, hogy egyaltalan el se kelljen dugni...
Szoval en ahelyett h. eldugnam, oktatnam. Vegulis a programozoknak illene tudni, legalabb nagy vonalakban, hogy a programjuk mit okoz, melyen a rendszerben, amivel dolgoznak. Ezert fizetik oket, fizetnek minket.
-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-
- A hozzászóláshoz be kell jelentkezni
Ha nem is az eldugás miatt, de mindenképpen jó lenne, ha ismernék.
Lásd a linux kernel és gcc levlisták októberi gcc thread-unsafe threadjeiben vázolt probléma káros mellékhatását a dirty memory page-ekre és cache line-okra.
- A hozzászóláshoz be kell jelentkezni
"Nyilván nem programozó a pofa."
Nem, nem az. Targoncás.
(Drepper a glibc egyik fő fejlesztője és karbantartója.)
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Hey... ne sertegessuk a targoncasokat! En ismerek egy targoncast aki jo programozo.
A'rpi
- A hozzászóláshoz be kell jelentkezni
Senki sem sértegette őket. De azért azt hiszem, hogy a targoncásoknak __megtisztelő__, hogy közéjük tettem Dreppert. :)
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
(Drepper a glibc egyik fő fejlesztője és karbantartója.)
Meglepő akkor, hogy tud ilyenekröl is :)
Majd leírom, valamikor a blogomba miért szar, hogy libc használunk macro/template helyett.
- A hozzászóláshoz be kell jelentkezni
Látom, hogy az okosok között felháborodást váltottam ki. Árnyalom azért a képet. Rendben van, érdekes a dolgozat. Talán kernel programozóknak nem is káros.
Csakhogy a társadalom működése többezer éve a munkamegosztáson alapul: nem foglalkozik mindenki mindennel.
Bizonyos dolgokról bizonyos helyzetekben káros tudni. Pl. ha programozó vagy, és ismered a memóriák működését (cikk), és sikerül írnod egy olyan programot, ami csak ilyen vagy olyan memóriával működik, akkor az egy rossz program.
A programtervezők nagy erőfeszítéseket tesznek azért, hogy a programok különböző részei el legyenek egymástól (és a hardvertől) szigetelve, lehetőleg minél kevesebbet kelljen tudniuk a környezetükről. Ez egy fontos és hasznos alapelv. A cikk címe ennek ellentmod, tehát hülyeség.
Az MS mentalitásnak ehhez semmi köze.
--
CCC3
- A hozzászóláshoz be kell jelentkezni
Aztán amikor rájönnek, hogy bár a design szép és jó, csak éppen vannak a programmal szemben teljesítménybeli elvárások is, amiknek a remek designú program még távolról sem felel meg, akkor aztán kezdhetik vakarni a fejüket.
- A hozzászóláshoz be kell jelentkezni
Akkor jon a supportos, es elkezdi tweakelni a javaVM-et az alkalmazas alatt :D
--
Aki falra szerelt tehennel vitatkozik, olyan mint vonat kerek nelkul, nem jut sehova.
- A hozzászóláshoz be kell jelentkezni
Tipikus szőrszálhasogató hozzáállás. Nem tök mindegy, hogy mi a címe? Mi a helyzet a tartalmával?
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Hát én már csak így hasogatok.
Természetesen, az első postom előtt átnéztem a dokumentumot, hátha van benne valami, amit programozóként hasznosíthatok. Lehet, hogy van: Érdekelne pl. hogy többszálú programban egy szál hogyan értesül egy másik CPU-n futó másik szálban történő változásokról. Fenntartom viszont, hogy ezekről a dolgokról nem kell minden programozónak tudnia.
Amúgy mérnöknek vagy fizikusnak nézem a pofát. Szinte biztos, hogy nem programozó. Targoncája is lehet:)
--
CCC3
- A hozzászóláshoz be kell jelentkezni
A professzionális programok nem attól lesznek gyorsak, mert a programtervező figyelmen kívül hagyja az ilyen leírásokat.
> Az MS mentalitásnak ehhez semmi köze.
Ezt mivel magyarázod? És ebbe gondolom nincs beleszámítva, hogy más programok is fognak futni.
- A hozzászóláshoz be kell jelentkezni
"Pl. ha programozó vagy, és ismered a memóriák működését (cikk), és sikerül írnod egy olyan programot, ami csak ilyen vagy olyan memóriával működik, akkor az egy rossz program."
Akkor irjuk át a video dekódereket PHP-be, mert hogy az "portabilis". Mert ugye rosszak, mert rendszerint optimalizálva vannak egy hardverhez.
Igenis, vannak dolgok, amiket nem árt betartani még ha magas szintű nyelvben programozik is az ember. Pl. egy struct-ban a nagyon használt változókat közel tenni egymáshoz és lehetőleg az elejére.
- A hozzászóláshoz be kell jelentkezni
Látom nem olvastad el a cikket. (Még én se :) )
pl. (DDR)SD burst mode,..,.. szinte minden eszközön használt, pár constans érték (méretek) ami más lehet. Ha figyelembe veszed a memória ilyen tulajdonságait, egy rendszeren egy másik rendszeren is optimálisabb lesz mintha nem vetted volna figyelembe, az másik kérdés, hogy optimumot ott nem éri el, de jobb lesz mint nélküle.
set_mempolicy() nélkül vagy jól alkalmazva egy NUMA rendszeren teljesítményben óriási változás állhat be. (Talán tudok olyan kódot generálni ahol kb. 4x sparc T2 -n)
Cikkben szereplő dolgok nem platform függőek, más gépen max. nem lesz gyorsabb, de nem kell újra írni.
"A programtervezők nagy erőfeszítéseket tesznek azért, hogy a programok különböző részei el legyenek egymástól (és a hardvertől) szigetelve, lehetőleg minél kevesebbet kelljen tudniuk a környezetükről. Ez egy fontos és hasznos alapelv. A cikk címe ennek ellentmod, tehát hülyeség."
Ez a magatartás természetem ellen val. OO -ellen irányuló baszogatásaim ez ellen szolnak, holott pl. C++ is gyakran figyelembe lehet venni ilyen tényezőket még OO elemekkel együtt is.
- A hozzászóláshoz be kell jelentkezni
Bocsi, hogy kijavítalak, de figyeljünk a szakkifejezésekre: olyan, hogy optimálisabb, olyan nincs. Vagy optimális valami, vagy rosszabb. Egy megoldás lehet "jobb", de "optimálisabb" soha.
- A hozzászóláshoz be kell jelentkezni
"Jobban közeliti az optimumot" de ez olyan felvezto tipusu beszolas.
"egyenlobbet" akkor mar nem is mondok :)
- A hozzászóláshoz be kell jelentkezni
(Opteron-os rendszerre inkabb jelemzo az ilyen kiepites , bocs)
- A hozzászóláshoz be kell jelentkezni
Ahamm. Pl. azt sem kell tudnia, hogy
"...the binary must have permission to change the access permissions for the memory page to include writing and then back to executing."
Ami súlyos biztonsági problémát jelenthet.
- A hozzászóláshoz be kell jelentkezni
Miert is vagyok en jobb java programozo azzal, hogy mostmar ezt tudom? :D
- A hozzászóláshoz be kell jelentkezni
ugy latom masok mar leosztottak elottem.
Igy rovidre fogom:
Ha ezeket a dolgokat legalabb feluletesen nem ismered, akkor te fogod irni azokat a progrmaokat, amik tipikusan 2 het alatt futnak le 2 ora helyett.
Mivel valsz e kijelentesed ota remelhetoleg elolvastad, nem tepem tobbet a szam.
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Csatlakozom.
Igaz koca és hobbi programozó vagyok, de nem tudok ilyen hozzáállást elfogadni.
Egy példát mindjárt közzé is tennék, igaz nem memórikezelés, de jól szemlélteti a hardverek nem ismerésének problematikáját.
Történt a 90-es évek elején, mikor még a scientific american-nak jelent meg magyar fordítása.
Fent említett folyóiratban volt egy rovat, amelyben érdekes matematikai szösszeneteket tárgyaltak ki viszonylag gyakorlatias szempontok szerint.
Egyik ilyen a Ljapunov térrel foglalkozott, és volt benne egy rövid útmutató, hogyan írhatunk Ljapunov-féle képeket előállító programot.
Nosza én nekiálltam, és megírtam saját kis programomat, nem emlékszem már, hogy 386-osom volt coprocival, vagy a 486DX-em, de meglehetősen lassan futott le a progi (640x480-as kép 1-1,5 nap alatt).
Az algoritmusban 1 db logaritmusszámítás van, amit illik képpontonként legalább 1000x lefuttatni. Ez Turbo pascalban x2-őt jelentett + egy osztást, mivel, ha jól emlékszem csak 10-es alapú log volt benne, nekem meg természetes, vagy 2-es alapú kellett.
Akkortájban vettem meg - ha jól emlékszem a címére - 386-os processzorok belső felépítése című kiadványt. Ebben elmélyedve látom, hogy az fpu tud 2-es, meg természetes alapú logaritmust. Ekkor megvilágosodtam, és rájöttem, hogy pont 3 logaritmusszámítással, és 3 osztással többet csinálok ciklusonként, mint kellene. Természetesen a futási idő nagy részét a log számítás tette ki.
Ezek alapján egy prog. nyelvet sem tudok elképzelni, ahol ne lenne haszna annak, hogy ismeri az ember a hardvert, az alacsony szintű funkció megvalósításának módját, vagy egyéb nem egyértelmüen hasznosnak tűnő dolgokat.
- A hozzászóláshoz be kell jelentkezni
Nagyjabol atlapoztam, de most nincs idom egy 100 oldalas doksit elolvasni. Es hirtelen nem lattam semmi olyan dolgot amire szuksegem lehetne. Az latszik, hogy nagyon jo cimet valasztott, mar miota errol megy a flame :) Egyszer azert lehet elolvasom, ha tobb idom lesz ra.
Szerintem at lehetne nevezni a cikket arra, hogy "Amit minden Asm/C/C++/Pascal programozonak tudnia kellene a memoriarol."
Nem hiszem, hogy egy java/C#/perl/python/php programozo tul sok hasznos informacioval okosabb lenne.
- A hozzászóláshoz be kell jelentkezni
"Szerintem at lehetne nevezni a cikket arra, hogy ""Amit minden Asm/C/C++/Pascal programozonak tudnia kellene a memoriarol.""
Idézőjellel biztos, hogy nem.
--
trey @ gépház
- A hozzászóláshoz be kell jelentkezni
Nem is ugy ertettem, hogy a HUP cikk cimet irjuk at, hanem az eredeti dokumentum cime talalobb lett volna...
- A hozzászóláshoz be kell jelentkezni
Bocs, nem volt szándékomban flamet kavarni.
Megjegyzem azért, hogy ezeket a dolgokat általában a C/C++/Pascal programozóknak sem kell tudnia. Akinek mégis tudnia kell, az megnézi az ilyen cikkekben, mint ez. Nem is mondtam semmi rosszat a dolgozat tartalmáról. Az asm-ról annyit, hogy 1000 közül 1 programozónál sem indokolt, hogy assemblyt használjon.
Nem akarom cikizni a srácot, szimpatikus fiú, csak a cím melléfogás. Kicsit nagyképű. Inkább ez kéne: Mi az, amit eddig megtanultam a memóriáról? Nem gondolt rá, hogy a programozók sokfélék. PHP kóderek ritkán töprengenek kondenzátorok feszültségátviteli karakterisztikáin. Ezért gondoltam mérnök-fizikusnak a srácot. Programozók inkább API-kban gondolkodnak.
--
CCC3
- A hozzászóláshoz be kell jelentkezni
ezeket a dolgokat általában a C/C++/Pascal programozóknak sem kell tudnia
Azert ez igy tulzas. csak egy pelda, amit igy fel perc atolvasas utan rogton kiszurtam, pl hogy hogy me'sz vegig egy matrixon: sorfolytonosan vagy oszlopfolytonosan. a ketto" kozott lehet hatekonysagban egy 2-4x-es szorzo. Raadasul en pont ekkora meretu" matrixokkal dolgozom mostanaban (2k x 2k, 4k x 4k) ;). Es akkor felmerulhet a kerdes, hogy hogy optimalizalhatsz jol, ha a sor/oszlopfolytonos ciklusok kozott nem donthetsz szabadon, az implementalando algoritmus tulajdonsagai miatt. Es ha az embernek egy ilyen tipusu futasra mondjuk nem 1 hetet kell varnia, hanem mondjuk 2-3 napot, akkor megeri kicsit gondolkodni.
Satobbi.
A.
- A hozzászóláshoz be kell jelentkezni
em hiszem, hogy egy java/C#/perl/python/php programozo tul sok hasznos informacioval okosabb lenne.
Az a baj, hogy a nyelvek kozott nagy az atjaras. Es tapasztalat, hogy aki sokaig nem tanulja meg az ilyesmi kezeleset, annak kesobb is megmaradnak a rossz berogzodesek, ha esetleg mas nyelvben kell programoznia (marpedig ez egy bizonyos szint felett eleg surun elofordul).
Mas kerdes, hogy a Perl, Piton es PHP-szeru izeket en joindulattal is csak scriptelesnek hivnam, nem programozasnak... Kb. mint a HTML programozas c. okossag. Attol is feltor bennem a vinnyogva rohoges. De ez mar egy eleg messzire vezeto vita lenne, es elismerem, hogy szelsosegesek a nezeteim. :)
-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-
- A hozzászóláshoz be kell jelentkezni
Kimondom helyetted, mert te nem mered: aki nem 8 bites assemblyvel kezdte annak idején, az egy szar alak. ;))))
--
Sokan nincsenek tudatában annak, / hogy egyszer mindenki meghal. / Akik ráébrednek erre, / azonnal abbahagyják az ellenségeskedést.
- A hozzászóláshoz be kell jelentkezni
Tiszta mazli hogy amikor en kezdtem, mar volt 8 bites asm :)
(szar lenen ha mondjuk 4 bitessel kezdtem volna 8 nelkul...)
A'rpi
- A hozzászóláshoz be kell jelentkezni
Rohadtul nem errol beszeltem, de nem baj. :) Egyebkent en Plus/4 es C64 BASIC-cal kezdtem, es csak kesobb x86-on tanultam meg eloszor assemblyben, szoval errol ennyit. :) (Aztan kesobb irtam par nagyon egyszeru szosszenetet 65xx-re is asmban, de azokat nem rakom ki az ablakba inkabb... :P )
-=- Mire a programozó: "Na és szerintetek ki csinálta a káoszt?" -=-
- A hozzászóláshoz be kell jelentkezni
huu. villamgyorsan elokapartam a 20 eve sajatagyulag irt z80 asm fordito forrasat, es megnyugodtam, hogy me'g megvan :D)
- A hozzászóláshoz be kell jelentkezni
Szerintem minden programozasi nyelvnek megvan a maga helye. Nalam kb igy nez ki a dolog: egyszerubb dolgok: bash, kicsit bonyolultabb scipt: perl, valami webes cucc: php, esetleg perl ha nagyon egyszeru. Bonyolultabb program: java. Ha GTK+ GUI kell: C#.
Szerintem sokkal egetobb dolog a mai programozoknal, hogy nem nagyon tudnak tobb szalu programokat irni. A memoriakezelest eleg jol elrejtik mar a nyelvek a programozo elol. Java-ban, vagy C#-ban nem nagyon volt problema ilyenekbol. Az igazsaghoz hozzatartozik, hogy egy memleak-et lattam mar C# alatt, de ez kuriozum :D Viszont multithreading miatt mar rengeteget szoptunk. Tudod amikor 3 nap debug utan felcserelsz ket sort es utanna mukodik az egesz. Most, hogy elegge elterjedtek a dual es lassan quad core processzorok ez egyre egetobb dolog lesz. Megprobalok nezni egy HD felbontasu filmet mplayer-el, az Ati kartya miatt nincs hardware-es gyorsitas, ezert szaggat a film, ha megnezem a prociterhelest 50%-on van ami azt jelenti, hogy a ket procibol az egyik idle, a masik meg kikopi a belet...
- A hozzászóláshoz be kell jelentkezni
"Mas kerdes, hogy a Perl, Piton es PHP-szeru izeket en joindulattal is csak scriptelesnek hivnam, nem programozasnak..."
Majd ha átnézted mondjuk a pychess Python-ban megírt sakkmotorjának rotated bitboard-os táblareprezentációját, vágási algoritmusait és kiértékelőfüggvényét, akkor kiváncsi leszek, hogy ezt fenntartod-e még.
- A hozzászóláshoz be kell jelentkezni
"Mas kerdes, hogy a Perl, Piton es PHP-szeru izeket en joindulattal is csak scriptelesnek hivnam, nem programozasnak."
A PHP az fair, mert az csak egy ocska tulnott templating engine.
Viszont a Perl es Python programnyelvek, persze lehet bennuk scriptelni is.
Egyszeruen Perlben az igenyek egy resze script formaban fejezodik ki, de ez kozel sem jelenti azt hogy nem hasznaljak komoly helyeken. Most igy eszembe jut hirtelen a BioPerl, vagy mondjuk egy Amazon.com-os rendszer amit mar nem igazan hivnek scriptelgetesnek. De talan ha megemlitem hogy SpamAssassin, az szerintem mar kierdemelne a program nevet.
Csak szintaktikai szempontbol: a Lisp 7 meghatarozo motivumabol a Perl tud 6-ot. A C egyet.
comet
Perl Programozo
- A hozzászóláshoz be kell jelentkezni
"Nem hiszem, hogy egy java/C#/perl/python/php programozo tul sok hasznos informacioval okosabb lenne."
Ezt hadd kerjem ki a valamirevalo Perl programozok neveben...
Aki meg nem hasznalt pack/unpack/vec fuggvenyeket, vagy nem optimizalt rendesen az termeszetesen nem tudja hogy miert lenne ilyesmire szukseg.
- A hozzászóláshoz be kell jelentkezni
bocsi de ezt a PDF.t csak én nem tudom megnyitni?
- A hozzászóláshoz be kell jelentkezni
Emberek... Olvassátok már el a cikke(ke)t...
Lehet, hogy itt mindenki csak olyan programokat ír, aminek mindegy, hogy 1 vagy 100 másodperc alatt fut le, de szerintem a programok többségénél nem mindegy.
Nagy különbség van aközött hogy valaki programozik, és aközött, hogy valaki programozó.
A programozónak igenis tudnia kell ezekről a dolgokról, még ha esetleg nem is ennyire részletesen. Egyszerűen megkerülhetetlen.
Pl. még egy Java programozónak sem mindegy, hogy egy tömböt merre jár be, feltéve, hogy nem akar lassú kódot írni.
Egyébként pont emiatt a "ezt nekem nem kell tudnom majd a fordítóprogram elintézi" hozzáállás miatt van annyi szörnyen lassú program. És pont emiatt szídja annyi ember a Java-t, pedig sok esetben csak a programozó a béna...
"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o
- A hozzászóláshoz be kell jelentkezni
Egyetértek. Nem véletlenül az a címe, ami, tényleg kéne tudni ezeket minden proramozónak.
Sajnos tényleg sok félidióta programozó egyszerűen nem hajlandó tudomásul venni, hogy a programja egy hardveren fut, bármennyire is virtualizáltan.
Java programozóknak üzenem, hogy a sebesség-problémáik nagy része megoldható lenne, ha lenne fogalmuk a cikkben írtakról.
Érdemes elolvasni pl. amiket a cache működéséről ír a faszi. Nagyon könnyű ugyanis olyan többszálú progit írni, ami gyakorlatilag egyáltalán nem skálázódik, akárhány procin is futtatod. És ez a javásokra is vonatkozik, bálmannyire is ott van a GC, ami "mindenről" gondoskodik.
Nagyon fontos témák vannak még a cikkben, amiket ha programozóként nem ismersz, te is szépen elsüllyedsz majd a buta középszerű biorobot programozók közé, akikre csak konkrét metódusok lekódolását merik bízni speckó alapján.
- A hozzászóláshoz be kell jelentkezni
A cikkben lévő információk sok esetben hasznosíthatók. Viszont
a "minden programozónak" kitétel túlzás. Persze lehet, hogy csak
a "programozó" szót értjük félre sokan.
Ajánlom MINDEN programozónak: Nemes Mihály: sebesség a
számítástechnikában. Ajánlom továbbá: nézze meg milyen
assembly kód fordul a programjából.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
En java programozo vagyok, es semilyen assembly kod nem fordul a programombol. Illetve valoszinuleg csak a memoriaban. Plusz nem ismerem a SPARC64 assembly nyelvet :)
- A hozzászóláshoz be kell jelentkezni
java assembly aka Java Byte kód fordul belőle. (Valamikor olvastam a felépítését, elég furcsa)
Megsúgom így csenden, hogy sok memória trükk Javában is figyelembe vehető. Ha JVM-nek nem mániája, hogy objektumok attributimait random sorrendbe tegye a memóriába.
- A hozzászóláshoz be kell jelentkezni
igen. anno, amig javaba fejlesztettunk 3d enginet (jah, eleg orulten hangzik, en is azt mondtam, de erre volt igeny) irtam is egy java disassemblert, hogy lassam hogy forditja le a kodot a compiler, es tudjak optimalizalni rajta... nem art amugy megnezni, utana jobban erti az ember hogy pl. mi tortenik a hatterben pointer atadassal es mi masolassal, ami azert eleg jelentosen befolyasolja egy java program sebesseget. (gyk: javaban is van pointer, csak object-nek hivjak :) ha object-kent adsz at valami parametert, az pointer szerint lesz kezelve es nem a tartalma masolodik)
A'rpi
- A hozzászóláshoz be kell jelentkezni
nem celom a trollkodas, de vhol rem vicces, hogy pont ebbe a threadbe linkelted be ezt a kodot (load1.c) ;)
- A hozzászóláshoz be kell jelentkezni
A byte kod egy dolog de az megsem gepi kod. A class-okbol eleg jol viszafejtheto maga a java forras. Szinte csak a konstansokat helyettesiti be, illetve a lokalis valtozok nevei eltunnek. Vannak mas apro elteresek is, de ez eleg mesze van az assembly-tol. Ez ertheto is mivel ugyanaz a kod fut sparc-on mint x86-on.
A java memoriakezelese eleg fura. Egyszer probaltam memoriafelhasznalast csokkenteni java progiban, hat nem egyszeru. Foleg a String-ekkel trukkoznek sokat.
- A hozzászóláshoz be kell jelentkezni
Előre is elnézést kérek mindenkitől. "Programozó" - ez vmi szakembert jelent, és elvárható, hogy ismerje a szakmáját.
A háziorvos nem oprál, de tudnia kell, hol van a máj, vese.
A programozónak meg ismernie kell a hardware-t, amin a programja futni fog. Nem hinném, hogy egy-két-három nyelv ismerete és a fejlesztőeszköz felületének ismerete jó programozóvá tesz valakit. Írhat persze jó programot, ha egy területre specializálódott, de azért ez mégsem minden.
Sajnos tényleg elfajult a helyzet, a program mérete, sebessége lassan senkit nem érdekel. Kis túlzással meg azt mondhatnám, az a cél, hogy a programozó jobb kezének mutatóujja se legyen túlterhelve. Ez részben annak (is) következménye, hogy a számítógép=pc, a szórakoztatóipar része, és nem olyan funkciókra használják, mint amire eredetileg ki lett találva. Közben azért nem szabad elfelejteni, hogy a "programozó" szakma eredeti jelentése mi volt.
- A hozzászóláshoz be kell jelentkezni
Sajnos ez nagyon igaz... utobbi idoben az a nezet divik, hogy gyorsabban fejlodik a gepek teljesitmenye mint amennyi ido alatt optimalizalni lehetne ra az adott kodot.
(amiben amugy lehet valami, az mplayer codeceket anno evekig optimalizaltuk, es ugyan amikor elkezdtuk meg csak a nagyon eros gepeken futott, de mire leoptimalizaltunk mindent, mar az optimalizalatlan kod is boven elment az akkori atlag pc-ken)
Ezert is irjak amugy a windozt es a legtobb jatekot is az epp elerheto legbikabb gepre, hogy amire elkeszul es letesztelik, az mar ugyis az atlag pc lesz.
A'rpi
- A hozzászóláshoz be kell jelentkezni
Miert olyan nagy az mplayer binarisa ?
- A hozzászóláshoz be kell jelentkezni
Ha ezzel arra akarsz celozni, hogy a meret aranyos a program optimalizalatlansagaval, akkor tanulj meg programozni.
Persze lehet meretre is optimalizani (en is irtam nem egy 256byte es 4k introt anno), de az mplayer sebessegre van optimalva, nem meretre.
(lasd meg: ugyanaz a kod gcc -O3 es -Os opciokkal forditva)
Hogy az mplayer miert akkora, na az egy jo kerdes. Meg sose gondoltam bele, de nehany tipp:
- ha --runtime-cpudetect -el van forditva, akkor pl. az osszes asm cucc benne van minden cpu-ra kulon optimalizalva
- a libavcodec alapbol minden optimot tartalmaz, es runtime valaszt, fuggetlenul a --runtime-cpudetect kapcsolotol
- rakas konstans adat tabla van a kulonbozo codecekhez
- sok hasznos es haszontalan feature
- millio statikus lib beleforditva
- gondolom a neu-team beleforditotta a sajat fotoit :)
- el van rejtve benne egy 3d-s passziansz es egy repuloszimulator. ha excel filet jatszol le vele, kiprobalhatod :)))
ettol fuggetlenul a default tenyleg nem kicsi, bar lehet par 100k-sat is forditani belole, nekem sikerult, amikor arra volt szukseg, persze erosen reduced feature settel...
A'rpi
ps: az openoffice miert akkora? vagy az x11? a kde-t ne is emlitsuk.
- A hozzászóláshoz be kell jelentkezni
Bocs, ha tamadasnak vetted , nem annak szantam. (Tul nagy kod meret meg artalmas lehet (cache miss -ek), de ez most mindegy)
Nem x86 neztem, (--runtime-cpudetect, igy remelem alabol kilove) es kurva sok feature nelkul (5 sor disable), elsore valami 4Mb -lett, 8Mb memoria van a cel szutyban (igy is, ment a film :)). Haver par CFLAGS es LDFLAGS + disable sereggel nezte ugy lett talan 2.7Mb. De azt mondja van meg mit disablezni.
Konstans tabla kb. mekkora lehet ?
"openoffice miert akkora? vagy az x11? a kde-t ne is emlitsuk."
Passz. Valahogy bele terem a sok szemet :)
- A hozzászóláshoz be kell jelentkezni
> Tul nagy kod meret meg artalmas lehet (cache miss -ek)
felteve hogy az egeszet hasznalja is egyszerre...
> Konstans tabla kb. mekkora lehet ?
passz. de a libavcodecben alapbol benne van az osszes codec (van vagy 100, nagy reszet a kutya se hasznalja, pl. regi videojatekok introjanak formatuma stb), valamint az osszes encoder(!) is. es ez bele van forditva a playerbe, igy ha az egesz mplayer csak 1 sorbol allna akkor is 2-3mb lenne minimum a binaris miatta.
a libavcodecet kell kiherelni elso korben.
(nekem csaj ugy sikerult hogy kikommentezgettem a codeceket az egyik structban)
plane ha embedded alkalmazasra kell, ott altalaba 1 codec kell csak, de max 3-4, igy azon rengeteget lehet nyerni.
(pl. az svq1/svq3 eleve egy rakas tablat hasznal)
A'rpi
- A hozzászóláshoz be kell jelentkezni
+1
Király doksi. Ilyent szeretnék látni a kulönféle buszokra, jó alaposan, esetleg regiszter méységig lemenve.
--
"Maradt még 2 kB-om. Teszek bele egy TCP-IP stacket és egy bootlogót. "
- A hozzászóláshoz be kell jelentkezni
USB -röl. az usb.org -on találsz infót.
zip
Linux szemszögéböl: ddk
Intel,Via,sun(sparc) busz vezerlőkröl többnyire találsz datasheet -et, regiszterekkel.
Az can,I2C,RS232,RS*,IEEE 1284 (ppdev),Dallas 1 wire,.. egyéb egyszerű serialhoz találsz infót.
Soros, parhuzamos prot meg mindig kompatibilis modon megy az osi gepekkel a PC-k -ben.
ISA halál egyszerű.
- A hozzászóláshoz be kell jelentkezni