- A hozzászóláshoz be kell jelentkezni
- 2148 megtekintés
Hozzászólások
wazzeeee....
most forgattam újra minden rendszeremet, hamarosan megint kell :)
kíváncsi vagyok mennyiben hoz változást.
- A hozzászóláshoz be kell jelentkezni
Ha elolvasod a linkelt doksit, akkor látni fogod... ;)
- A hozzászóláshoz be kell jelentkezni
Nem vagyok valami nagy c/Linux guru, de úgy rémlik valami olyasfélét is terveztek régebben, hogy ne töltődjenek be duplán liblary-k a memóriába.
Nem tudom már hol olvastam, de valahogy úgy írták, hogy az akkori Linux úgy használta a memóriát, hogy ha már volt bent a memóriában egy adott lib, attól függetlenül újra be töltötte, ha egy másik progi hivatkozott rá. Ennek köszönhető, hogy Linux alatt lassabban indulnak el a programok, mivel minden progi indításkor berántja az összes hivatkozott lib-et függetlenül attól, hogy azt már esetleg más használja. Ráadásul kevesebb memóriát is enne a Linux.
Ezt állítólag valamelyik gcc verzióban mint újdonság javították volna. Ugyan nem tudom mi köze van a gcc-nek az oprendszer szintű funkciókhoz, de hát ki tudja :-)
Lehet, hogy nagy baromságként fogalmaztam meg a dolgokat, de majd az okosak kiigazítják, ha kell. :-)
Na mindegy, ez nem tudjátok megvalósult már vagy még nem valamelyik gcc verzióban?
- A hozzászóláshoz be kell jelentkezni
Szerintem ez nem igy van.
- A hozzászóláshoz be kell jelentkezni
Pont ebben jok az .so file-ok.. legalabbis a statikus .a-hoz kepest.
Az elobbi a shared object, dinamikusan betoltheto, es egyszerre tobb program hasznalja ugyanazt a kodot a fizikaimemoriaban (csak persze mindegyiknek masutt van a virtualis cimtartomanyaban).
Kb 7-8 eve hasznalok Linuxot, es akkor mar emlekeim szerint igy mukodott..
Ha nem hiszed, a /lib-ben es a /usr/lib-ben megtalalod..
---------------------
int iPhone,iMac,iPod; // Apple using Hungarian notation :)
- A hozzászóláshoz be kell jelentkezni
> Nem vagyok valami nagy c/Linux guru
Látszik.
Nem tudom, hol olvastad, de vagy bődületes baromságot olvastál, vagy félreértetted.
A shared object (olyan, mint a dll windows alatt) több program által is használható rutinkönyvtár. A programozó döntése, hogy melyiket használja.
A gcc tud shared objectet is, és statikus objectet is kezelni. Időtlen idők óta. Én 11 éve használtam először gcc-t Linuxon, és természetesen tudta. Bizonyára jóval korábban is, mert fel se tételeztem, hogy ne tudná.
G
- A hozzászóláshoz be kell jelentkezni
Ok. Tévedtem. Vagy az is tévedett akinek a cikkét olvastam és ő csak a statikus lib-eket ismerte.
Akkor máshogy kérdezem, és lehet, hogy eljutunk így valami értelmeshez is:
Van valami magyarázatotok rá miért töltődnek be Linux alatt a progik lassabban, mint pl. ugyanazon a gépen a WinXp-s port XP alatt?
- A hozzászóláshoz be kell jelentkezni
újjab binutilssal prelinkelni is lehet a shared libeket.
- A hozzászóláshoz be kell jelentkezni
A prelinket már használtam régebben, egy picit gyorsult, de még mindig gyorsabban indultak ugyanazok a progik XP alatt.
Bár ahogy most a hup wikin megnéztem, a KDE-ben ilyenkor illik kikapcsolni a "saját prelinkjét" és azt nem csináltam meg, de az csak max. memóriafoglalásban jelentkezhetett.
- A hozzászóláshoz be kell jelentkezni
For example, a typical KDE program's loading time can be cut by as much as 50%.
http://gentoo-wiki.com/HOWTO_Hashstyle
- A hozzászóláshoz be kell jelentkezni
Úgy néz ki, hogy ezt kerestem? :-)
Lehet, hogy érdemes lenne egy kicsit Gentoo-znom, elég sokat tanulnék belőle :-)
- A hozzászóláshoz be kell jelentkezni
Ne keverd ennyire a gcc-t es a glibc-t, az ld es az ld*.so kozott van egy kis kulonbseg...
- A hozzászóláshoz be kell jelentkezni
Valaki meg tudná mondani, hogy .xpm-eket hogyan lehet warningok nélkül megetetni vele?
Nna, miután postoltam, egyből rájöttem:
-static char * foo_xpm[] = {
+static char const * foo_xpm[] = {
- A hozzászóláshoz be kell jelentkezni
Végre... Vártam már mint a messiást.
OpenMP-re fel!
Hamár eszembe jutott, egy kérdésem lenne azokhoz akik használtak már OpenMP-t:
Milyen overheadje van pl egy parallel for-nak?
Ilyenkor minden esetben új threadek jönnek létre, majd megszűnnek, vagy van valami optimalizáció/újrafelhasználás?
Egyáltalán nagyságrendileg mennyi órajel egy thread indítása?
"...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