🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.lang.c
Article #15171

Re: fwrite et setvbuf

#15171
From: Harpo
Date: Sat, 08 Oct 2005 18:46
36 lines
2675 bytes
Pierre Habouzit wrote:

> 
>> en g�n�ral setvbuf bufferise � 8 ou 32k. 24octets, �a ressemble � une
>> linuxerie ou une erreur de manipe...
> 
> en fait, en refaisant un petit programme qui ne fait que utiliser
> fwrite, il apparait que ce qui provoque l'�criture c'est une
> utilisation de ma part de 'ftell'
> 
> je pensais (visiblement naivement) que ftell ne faisait que lire un
> membre de la structure interne de FILE, mais visiblement ca g�n�re un
> flush des buffers. Le probl�me vient de l�.
> 
> Il va donc falloir que je reprogramme ma propre bufferisation � cause
> de ca, c'est trop b�te ...
> 
> d�sol� pour le d�rangement donc.

Non, au contraire merci pour l'info.

Ce n'est pas une mauvaise nouvelle de faire ta propre bufferisation, tu
peux �crire directement dans le buffer, plut�t que faire � chaque fois
des recopies de donn�es, ce n'est pas compl�tement anecdotique, les CPU
sont souvent un peu surcharg�s par ce genre de trucs souvent inutiles.
C'est simple, tu as un buffer dans lequel tu peux mettre 100 records, tu
commence par mettre l'adresse de ton record au debut de ton buffer, tu
tu mets ce que tu veux � cette adresse et �crire le record consiste
simplement � incr�menter le pointeur sur le record de sa taille.
Arriv� au 101�me ou � la fermeture du fichier, t'�cris le buffer.
C'est un peu plus complexe en cas de reprise � chaud pour plantage mais
cela n'apporte pas d'inconv�nient par rapport � fwrite( ).

Par contre, je ne sais pas ce que tu fais de ftell( ), mais il faudra
sans doute te d�brouiller autrement. Je pense que l'appel de cette
fonction n'est pas toujours justifi�.
Technical Details
Message-ID: <43481429$0$1022$8fcfb975@news.wanadoo.fr>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!feed.ac-versailles.fr!uvsq.fr!freenix!news.wanadoo.fr!news.wanadoo.fr!not-for-mail
References: <4347c389$0$14664$626a14ce@news.free.fr> <4347f9b8$0$18839$636a55ce@news.free.fr> <43480636$0$14042$626a14ce@news.free.fr>

Show Full Headers
Complete Article Headers
X-Google-Thread: f9822,e69a4cd47d957512
X-Google-Attributes: gidf9822,public
X-Google-Language: FRENCH,ASCII
Message-ID: <43481429$0$1022$8fcfb975@news.wanadoo.fr>
From: Harpo <trashcan@hotmail.com>
Subject: Re: fwrite et setvbuf
Newsgroups: fr.comp.lang.c
Date: Sat, 08 Oct 2005 20:46:52 +0200
References: <4347c389$0$14664$626a14ce@news.free.fr> <4347f9b8$0$18839$636a55ce@news.free.fr> <43480636$0$14042$626a14ce@news.free.fr>
Organization: ARG ; Association pour la Rehabilitation du Goto
User-Agent: KNode/0.8.2
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8Bit
Lines: 37
NNTP-Posting-Date: 08 Oct 2005 20:47:05 CEST
NNTP-Posting-Host: 83.195.126.74
X-Trace: 1128797225 news.wanadoo.fr 1022 83.195.126.74:34921
X-Complaints-To: abuse@wanadoo.fr
Path: arc1-ca.pugleaf.net!g2news1.google.com!news2.google.com!proxad.net!feed.ac-versailles.fr!uvsq.fr!freenix!news.wanadoo.fr!news.wanadoo.fr!not-for-mail