- A hozzászóláshoz be kell jelentkezni
- 2025 megtekintés
Hozzászólások
linuxon lesz ebből valami?
szerintem.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
szuper :)
makkosoknak nincs valami tapasztalat amit megosztanának, hogy mennyire érzékelhető a plussz sebesség a többi mag kihasználása miatt deszktopon?
- A hozzászóláshoz be kell jelentkezni
Jelentős.Amint lesz kicsit több idő próbálok blogformában késziteni róla egy kissebb irást.
____________________________
Az ellentetes velemenyek soha nem zavartak. Ami zavar az a tudatos rombolas es az onkontroll hianya.
- A hozzászóláshoz be kell jelentkezni
köszi
- A hozzászóláshoz be kell jelentkezni
Már két mag esetében rendesen érződik, persze a minimális 2 GB RAM után. Mac Mini Core Solo és a vele egy súlycsoportban levő MacBook Core Due összehasonlításáról tudok nyilatkozni: mezei felhasználó által is érezhető, zongorázható. Kapásból ha az egyik program kegyetlen módon húzza a procit, addig a többi rendesen reagál, feltéve, hogy az előbbi processz nem gyilkolja közben a diszket is, mert akkor a négy mag se ment meg a döglődéstől.
OFF
"plussz" <-- ezt ugye nem gondoltad komolyan? Talán "plusz" helyesebb lenne.
--
Kinek nem inge, ne vegye gatyára
- A hozzászóláshoz be kell jelentkezni
"ha az egyik program kegyetlen módon húzza a procit, addig a többi rendesen reagál..."
Ez más rendszeren is így van imho több mag és több processz esetében. Arra lennék kíváncsi, hogy 1 folyamatba is be tud-e segíteni a GCD? Persze gondolom eleve úgy kell megírva (vagy fordítva) lennie a proginak, ezért jelenleg leginkább talán a rendszer komponenseket gyorsíthatja. de FIXME
Esetleg olyan progival nincs tapasztalat, ami rendesen eszi a CPU-t 1 szálon? Szétdobja-e több szálra?
szerk.: "plusz" +1 pont oda :)
- A hozzászóláshoz be kell jelentkezni
"Esetleg olyan progival nincs tapasztalat, ami rendesen eszi a CPU-t 1 szálon? Szétdobja-e több szálra?"
És a vacsorát is megfőzi, sőt el is mosogat utána.
- A hozzászóláshoz be kell jelentkezni
?? amit a GCS doksiból olvastam, nekem az jött le, hogy ha a megfelelő makrókkal látják el a C/C++ kódot, akkor az oprendszer szétosztja a szálakat és kéréseket a magok között.
- A hozzászóláshoz be kell jelentkezni
De az már nem egyszálú program.
- A hozzászóláshoz be kell jelentkezni
Nem pontosan fogalmaztam. Arra gondoltam hogy 1 process szálait dobja szét több magra.
- A hozzászóláshoz be kell jelentkezni
Szét, de ezt bármelyik ősöreg scheduler is megteszi neked.
- A hozzászóláshoz be kell jelentkezni
ezzel szemben ha nincs több szál és úgy van leprogramozva, abba az 1 szálba is besegít több maggal tudtommal a GCD - a wiki szerint is 1 szálban lévő feladatokat párhuzamosít és állít sorba (most még egyszer megnéztem), tehát nem írtam hülyeséget szerintem a kávéfőzős sztori előtt sem ;)
tudtommal ezt normál direktívákkal nem oldod meg, vagy neked kell körülményesen szétdobatni a feladatokat több szálra - az "ősöreg" schedulernek itt annyi szerepe van, hogy a már meglévő folyamatokat szép elfuttatja több magon, viszont nem segít a folyamatok létrehozásában
- A hozzászóláshoz be kell jelentkezni
"a GCD - a wiki szerint is 1 szálban lévő feladatokat párhuzamosít és állít sorba"
A párhuzamosítást GCD-vel is a programozó csinálja.
- A hozzászóláshoz be kell jelentkezni
egyetértek, a programozó jelöli ki meg a részfeladatokat, viszont a GCD állítja sorba hatékonyan -ez GCD nélkül annyit jelentene, hogy a programozónak meg kellene hivogatni a függvényeket és ténylegesen létrehozni a thread-et, majd vizsgálgatni az élettartamát, meg minden egyebet - most GCD-nél tudtommal elég a makrókat megadni, és a részfeladatok több szálon végrehajtódnak és (ezt gondolom) a program végrehajtás utána megy tovább - tehát nem kell vizsgálgatni meg leprogramozni az egész hóbelebancot.
gondolom GCD-vel azért gyorsan átformázzák a lényegesebb kódrészeket.
- A hozzászóláshoz be kell jelentkezni
Legalábbis az Apple marketing szerint. Az mindenképpen előrelépés, hogy nem minden alkalmazás a saját, fix méretű threadpooljával mesterkedik, hanem az OS az egész rendszer terheltségét figyelmbe véve próbálja megfelelően ütemezi a párhuzamosan végrehajtható blokkokat. De hogy képes lenne ezeket optimálisan ütemezni, mint ahogy a marketing hirdeti? Ugyanmár, sokan akartak már optimális schedulert csinálni az utóbbi évtizedekben, de valahogy nem igazán akart összejönni.
Én inkább azok táborába tartozok, akik aggódni kezdenek, ha az "egyszerű" és "párhuzamos" szavakat egymás mellett látják.
szerk.: még egy érdekes aspektus: jelenleg a szoftver ipar nagyobb részét objektum-orientáltság uralja, az iskolák ontják az OO nyelveken és UML-en nevelkedett fiatalokat. A GCD mennyire illeszkedik az OO koncepciókhoz a blockjaival és queue-jaival? Hát nem nagyon.
- A hozzászóláshoz be kell jelentkezni
En ez utobbinak inkabb orulok. Megvan a helye az OOP szemleletnek, de nem minden aron, mint ahogy azt mindennap hallani.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Így van; nem állást foglaltam, csak megemlítettem.
- A hozzászóláshoz be kell jelentkezni
Igazából én jobban el tudnám képzelni a párhuzamosítást objektum orientált szemlélettel programozott szoftvereken / rendszeren ha így belegondolok, mert ott az objektumkezelés szintjén talán lehetne automatikus többszálúsítást végezni (pl. külön objektum instance-ek külön szálon stb.). És talán inkább ott, mert egy lineáris kódrésznél nem nagyon van valószínűleg elég ismeret alap annak eldöntésére az ütemező szemszögéből, hogy milyen rész feladatok választhatóak szét főleg hatékonyság szempontjából meg egyáltalán hogyan szabdalható szét. Viszont egy objektum élettartama alatt sok "hasonló" művelet történik és az osztályok kódrészei is nagyon elkülöníthetőek lennének szerintem. De persze nem tudom, ez már okoskodás részemről.
Nem próbáltam és nem ismerem a GCD-t, én is arra lennék kíváncsi hogy a marketingből mennyi az annyi :)
Mondjuk talán a jövőben egy nyílt FreeBSD port-tal talán jobban ki lehet majd kísérletezni és teszteket végezni "házilag".
- A hozzászóláshoz be kell jelentkezni
* Attol h objektum orientalt a cucc, attol meg nem trivialis run time eldonteni mi parhuzamosithato mi nem. En a lehetetlen fele tartok.
* osx-en is nyilt forrasu, nem veletlen, ott is lehet vele jatszani ha valaki akar, ahhoz nem kell freebsd port.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Szerintem ha automatikusan akarunk párhuzamosítani, akkor a funkcionális nyelvek felé kellene elmozdulni (Scala, F#, Haskell, Erlang stb)
- A hozzászóláshoz be kell jelentkezni
:D
a nap hozzászólása!
szerintem.
- A hozzászóláshoz be kell jelentkezni
"az új kqueue primitives-ek MFC-zésre kerülnek, így a libdispatch out-of-the-box működni fog a FreeBSD 8.1-RELEASE-en" ezt már a 7 vezér se mondta volna szebben ;D
- A hozzászóláshoz be kell jelentkezni
"Block" nélkül ez hogyan használható? Fv. pointerrel?
"...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
A pdf szerint vannak block-ok is.
KisKresz
- A hozzászóláshoz be kell jelentkezni
"FreeBSD questions:
·what is required to get C Blocks working --
libgcc, compiler-rt, etc"
Biztos, hogy van?
clang (LLVM) alól esetleg, no de mikor állt át a FreeBSD clang-ra?
"...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
madj a FreeBSD-9 fog atallni, mert meg nem allt at
___
info
- A hozzászóláshoz be kell jelentkezni
Ohh, tehát van ilyen terv? Nem tudtam.
"...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