WriteFileGather?

8 отговора 245 прегледа
#1

WriteFileGather?

Niakoi da e nameril razumno prilozenie na WriteFileGather funkciata?

Отговор
в отговор на dummy #2

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.

Отговор
в отговор на dummy #3

Re: WriteFileGather?

т.е., понеже не знаеш за какво да я ползваш,
искаш да използваш неин аналог под Линукс ???

Отговор
в отговор на haho #4

Re: WriteFileGather?

Znam za kakvo da polzvam funkciite readv/writev pod UNIX (Linux). I tarsia analogichna funkcia pod Windows.

Отговор
в отговор на dummy #5

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).

Отговор
в отговор на malkia #6

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.

Отговор
в отговор на dummy #7

Re: WriteFileGather?

Mi ako vzemsh i da kazhesh za neprosvetenite dushi kakvo pravi readv/writev mozhe i po-burzo da stane cialata rabota

Отговор
в отговор на TurboZmei® #9

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.

Отговор