WriteFileGather?
8 отговора
245 прегледа
Re: WriteFileGather?
Prichinata da pitam e che mi triabva analog na readv pod UNIX i ne namiram nisto podobno.
Ako niakoi znae funkcii koiato varshi sastata rabota kato readv writev ste sam mu mnogo blagodaren ako mi kaze.
Ako niakoi znae funkcii koiato varshi sastata rabota kato readv writev ste sam mu mnogo blagodaren ako mi kaze.
Re: WriteFileGather?
т.е., понеже не знаеш за какво да я ползваш,
искаш да използваш неин аналог под Линукс ???
искаш да използваш неин аналог под Линукс ???
Re: WriteFileGather?
Znam za kakvo da polzvam funkciite readv/writev pod UNIX (Linux). I tarsia analogichna funkcia pod Windows.
Re: WriteFileGather?
Nejasno kude mozhe da se prilozhi dobre - predpolagam da si suberesh dannite ot razlichni mesta i da gi hacknesh na edno sus edna atomichna operatzia - kato po tozi nachin njama da se nalaga komunikatzia mezhdu programata i operatzionnata sistema.
Edin vid - maika da instruktira sina si da nakupi 10 neshta - wmesto wseki put da mu dawa da kupi edno neshto ot magazina, da se wrustha i sled tova da kupi drugo. Prosto pri "normalnite(domashnite:))" OS otivaneto do magazina, kupuwaneto i wrushtaneto sa minimalni opertatzii...
Pod linux - wizh <aio.h> -> [линк]
tam ima wuzmozhnost da podavash sushto array sus komandi ot kude da chete, kude da pishe.
Sega pak za sina i maikata - ako maikata dade na sina si list sus 10 neshta, no ot 3 razlichni magazina - sina e sposoben da optimiza kak shte kupi produktite - da mine samo edin put prez wseki magazin i da se wurne sus naj-tezhkia tovar naj-nakraja (t.e. da mine purwo prez aptekata, i nakraja za hljab i meso
). Realno pri WriteFileGather tova ne e tochno taka - tuj kato tam ima samo edin magazin - t.e. edna media (osven ako ne e njakakwa virtualna failova sistema) - no wse pak ako hwahstash ideata...
Interesno che pod XBOX (kojto e sus Win32) sushto ima tezi funckii, i konsolnite programisti gledat na takiva neshta kato na biseri - tuj kato dawat shans neshtata da se optimizirat maximalno - no pochti nishto ne namerih otnosno tjah (njakoj da se wuzpolzwa ili podobni).
Edin vid - maika da instruktira sina si da nakupi 10 neshta - wmesto wseki put da mu dawa da kupi edno neshto ot magazina, da se wrustha i sled tova da kupi drugo. Prosto pri "normalnite(domashnite:))" OS otivaneto do magazina, kupuwaneto i wrushtaneto sa minimalni opertatzii...
Pod linux - wizh <aio.h> -> [линк]
tam ima wuzmozhnost da podavash sushto array sus komandi ot kude da chete, kude da pishe.
Sega pak za sina i maikata - ako maikata dade na sina si list sus 10 neshta, no ot 3 razlichni magazina - sina e sposoben da optimiza kak shte kupi produktite - da mine samo edin put prez wseki magazin i da se wurne sus naj-tezhkia tovar naj-nakraja (t.e. da mine purwo prez aptekata, i nakraja za hljab i meso
Interesno che pod XBOX (kojto e sus Win32) sushto ima tezi funckii, i konsolnite programisti gledat na takiva neshta kato na biseri - tuj kato dawat shans neshtata da se optimizirat maximalno - no pochti nishto ne namerih otnosno tjah (njakoj da se wuzpolzwa ili podobni).
Re: WriteFileGather?
Vsastnost az polzvam po UNIX readv/writev koito imat parameter iov. Problema e che tarseh podobno API pod windows i popadnah na tova. V momenta pod Windows polzvam FileWrite/FileRead otvoren s FILE_FLAG_WRITE_THROUGH flag. I performance-a e chudesen. Problema e che za da se zapishat/prochetat niakolko bufer-a triabva az da vartia loop i da vikam read/write. A tova si e bavno.
Ta vaprosa mi beshe po-skoro imat li readv writev analog pod Windows.
Ta vaprosa mi beshe po-skoro imat li readv writev analog pod Windows.
Re: WriteFileGather?
Mi ako vzemsh i da kazhesh za neprosvetenite dushi kakvo pravi readv/writev mozhe i po-burzo da stane cialata rabota
Re: WriteFileGather?
readv writev praviat nesto podobno:
ti podavash masiv s elementi vseki ot koito sadarza buffer i kolko baita da se prochetat v tozi bufer. sledvastia parametur e broi na elementite v masiv-a.
Funkciata chete/pishe posledovatelno ot file i popalva bufer-a s tolkova byte-a kolkoto si mu zadal.
ti podavash masiv s elementi vseki ot koito sadarza buffer i kolko baita da se prochetat v tozi bufer. sledvastia parametur e broi na elementite v masiv-a.
Funkciata chete/pishe posledovatelno ot file i popalva bufer-a s tolkova byte-a kolkoto si mu zadal.