On Sat, Aug 18, 2007 at 06:57:43PM +0200, Dan Lukes wrote: > Roman Divacky wrote: > >> Priznam se, ze freebsd pouzivam uplne na jinych platformach nez > >> enterprise serverech a tam je i386 uplne v pohode a nikdy nepresahnu 1GB > >> pameti. > > > vem si treba ze mas ftp server nebo neco ktery poskytuje soubory vetsi nez > > 4G. > > neexistuje moznost jak by na i386 mohl ten server pouzivat mmap() a tak musi > > ten soubor nacist z disku. tj. bude to pomalejsi, zabere to vic pameti atd. > > Nemyslim si, ze lze data z disku ziskat jinak nez jejich nactenim z > disku. Data se, pred tim, nez se dostanou do pameti, proste z disku > precist musi. I v pripade mmap() > > Docela by me prekvapilo, kdyby byl mmap()+write() rychlejsi nez > sendfile(). Ktera existuje prave proto, aby se jim do site daly odeslat > data ze souboru aniz by bylo nutne se zdrzovat jejich > kopirovanim/mapovanim do userspace. A odesilani celych souboru do site > je typicka potreba FTP serveru a jinych podobnych aplikaci poskytujicich > soubory do site. jasne. na tohle se asi pouzije sendfile. slo mi o principielni ilustraci.
mimochodem, zrovna ten sendfile pouziva sf_bufs ktere jsou jedna z tech veci ktera je na amd64 "trivialni" zatimco na i386 je to pomalej hnus. tj. sendfile bude rychlejsi na amd64 (nebude, pac je to omezene IO ale chapeme se ne :) ) (pro ilustraci mrkni na funkci sf_buf_alloc v i386 a v amd64 verzi. v amd64 verzi to ma 1 radek, v i386 100) > Takze, pro moji zvedavost, mas nejake porovnani vykonnosti pro FTP > servery ci jine podobne velka data poskytujici servery, ze ktereho by > plynulo, ze mmap() je pro tento typ ulohy opravdu to vhodne ? Nebo jde > jen o takovy "naslepo vystrel" na podporu argumentace ve prospech AMD64 > architekruty (ja nenapadam, ze je na nektera nasazeni vhodnejsi, jen > bych si rad overil, ze zrovna v tom, kterys pouzil jako hlavni priklad). mozna byl ftp server blbej priklad, nevim. slo mi hlavne o to ze se ty soubory nevlezou do virtualni pameti. mrkni na: http://varnish.projects.linpro.no/wiki/ArchitectNotes je tam pekne popsanych nekolik veci > > pro mne je volba jasna :) > > U tebe nijak prekvapive - amd64 je moderni, kdezto i386 je moc stary ;-) tak tak :) navic sem videl jak vypada ten samy kod v i386 verzi a v amd64 verzi :) -- FreeBSD mailing list (users-l@freebsd.cz) http://www.freebsd.cz/listserv/listinfo/users-l