Más a funkciója. Hidd el, hogy pl. levelezöszerverként sokkal szarabb mint a linux :)))))) BOB ezen kijelentését megvédve, és kicsit a témában OFF-ként egy példa:
A NOKIA nyomul a Check-Point-tal, ez egy tűzfal szoftver. Fejlesztettek alá egy vasat, arra egy spec OS8-t, amin ez a szoftver elfut. Maga a Check-Point elfut egy PC-n is, winNT-n, meg Solarison, etc... Készítettek egy rakás felmérést a futtató plattformok között, és egy dual procis Linux (a többi OS is ezen a vason futott) megverte mindegyiket, értsd a NOKIA vasát is...
Szal' azért nem kell leírni a Pingvint... :-)
egeresz:
A lapozási problámákhoz tudni kellene, hogy hogyan használja a konkrét progi a memóriát. A program nemlineáris transzformációt hajt végre a wav fájlon, ezért calloc-kal lefoglalok annyi RAM-ot, amennyibe a wav belefér (tulajdonképp ez a kimeneti buffer), plusz 1 megát input-buffernek (malloc-kal). Az adat mozgatása memcpy-val történik. Az biztos, hogy ha a Linux a transzformáció alatt sűrűn swappol, az lelassíthatja, mivel egyszerre mindig csak 4 byteot másol a memória valamely területéről egy tőle valszeg távoli területre.
Ekkor lényegében megtíltod a Linuxnak, hogy lapozzon, van olyan progi, ami ettől lényegesen gyorsabb lesz. Hogyan tiltsam meg? A Linux API-ját egyáltalán nem ismerem.
Próbáld ki úgy, hogy a Linuxon nem fut a grafika. A mért idő már grafikus felület nélküli esetre vonatkozik.
...az is lehet, hogy egyszerűen túl messze van a Linux swap partíciód a munkafile-től... A Linux partícióm 1.2Gb-os, ebből 1Gb Native, és a végén 200Mb Swap. Gondolom ez azért nem olyan extrém egy 30Gb-os winchesteren.
- BOB vélémének ellentmondanék: ez egy közönséges adatfeldolgozás, nem pedig multimádia cuccnak néz ki (semmi real-time jellegű ütemezés nincs benne) A security figyelések pedig egy task esetében maximum 1% overheadet kellene jelentenie, ez igy mindenképpen túl sok. A nagységrendi jellegű különbség inkább négy dologból adódhat:
-- nyers IO teljesítmény (lásd netizen részletezését)
-- Lapozási képesség. A Linuxnak nagy hátránya, hohy (,,nagyobb'' rendszerekhez képest) alig tud lapozni (pging, swapping). Persze a ,,nagyobb'' most nagyon nem a win* vonalat jelenti...
A lapozási problámákhoz tudni kellene, hogy hogyan használja a konkrét progi a memóriát. Például, ha az összes szóbajöhető memóriát megeszi, de fut virtuális 130 Mbyte, és virtuális 300 Mbyte mellett is; akkor gyakran gyorsabb, ha csak a fizikai memória nagyságú memóriát engeded használni hozzá. (jelen esetben 130 Mbyte körül) Ekkor lényegében megtíltod a Linuxnak, hogy lapozzon, van olyan progi, ami ettől lényegesen gyorsabb lesz.
-- Grafikus erőforrás. Egy full Xfree86+KDE2 erőforrásigénye (memória) nagyobb, mint egy win* rendszer grafikus felületéé, és sokkal nagyobb, mint a BEos -é (lásd, a BEos multimédia os) Nem részletezted, hogy a C++ progid használ-e valami grafikus interface-t (QT, ilyesmi) Azt feltételezem, hogy nem (mert ANSI C++ -t emlegettél.) Próbáld ki úgy, hogy a Linuxon nem fut a grafika.
-- Swap terület helye. Végül, az is lehet, hogy egyszerűen túl messze van a Linux swap partíciód a munkafile-től (első particio v.s. utolsó partíció) így lapozáskor a Linuxodnak kellett a legjobban mozgatni a wincsifejet. Ekkora különbséget még ez is adhat.
Esetleg lehet hogy mivel itt intenziv disk muveletek is vannak van valami udma meg ilyesmi is a vinyo korul, ami a linuxban nem volt alapbol bekapcsolva?
Csak mint 1 lehetoseg....
Nem erröl van szó. Egy többfelhasználós operációs rendszer (ahol minden file és minden taszk jogosultságait folyamatosan vizsgálni kell, mert így biztonságos) nem gyorsabb, mint ahol ijenekkel nem kell törödni. Ezért mondtam, hogy az NT-vel való összehasonlítás lehet kellö alap, mert pl. a BeOS-t kifejezetten "Multimédiás Operációs Rendszer"-ként tervezte és árulja a Be Corp. Más a funkciója. Hidd el, hogy pl. levelezöszerverként sokkal szarabb mint a linux :))))))
Megfogadom a tanácsot, és kipróbálom NT alatt is. A válaszod egyébként megnyugtató a számomra, bár furcsállom, hogy a Linuxnak nem "kell" gyorsnak lenni.
És azt mondta neked valaki hogy a linux multimédiára lett tervezve? A linux stabil hálózati operációs rencer. Nem arra tervezték és nem is az a dolga hogy baromi gyors legyen, hanem hogy baromi stabil. Próbáltad ugyanezt a tesztet Windowz NT-n? Mer azzal lehetne összehasonlítani. A BeOS egyébként multimédiában nagyon jó, nem csodálkozom hogy verte a többit.
Azt hiszem félreérthetően fogalmaztam. A Linux látja a 128Mb ramot. 64Mb-tal nem is tudtam kivárni, hogy megcsinálja.
Az elfelejtettem hozzátenni, hogy a swap partíció mérete 208Mb. Talán ez is számít.
A témát már felhoztam a Windows fórumon, de a Linuxos vonatkozása miatt úgy érzem, megérdemel itt egy külön topicot.
A problémám a következő: megírtam ANSI C++ -ban egy programot, amit gcc-vel lefordítottam BeOS 5 PE, QNX RTP, és Red Hat Linux 6.0 alatt, Borland 5.5-tel pedig Windows 98 alatt. A program .wav fájlokat dolgoz fel, ezért intenzív lemez- és memória I/O jellemzi. Mindegyik OS alatt kifogástalanul működik, de extrém sebességkülönbséggel, noha a feltételek közel azonosak.
Íme, a konkrét teszt, amit elvégeztem egy 800MHz ATHLON + 128Mb RAM + Quantum 30G HDD konfiguráción. Mindegyik rendszer látta a teljes memóriát (a Linuxom alapból ugye csak 64Mb-ot ismer fel). A GNU compiler verziói közel azonosak voltak mindhárom esetben (gcc 2.9X). A teszt során egy 60Mb-os .wav fájlt kódoltam a progival.