Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Stefan Reuther Newsgroups: de.comp.os.unix.programming Subject: Re: mmap oder read? Date: Thu, 9 Jun 2022 17:50:27 +0200 Lines: 27 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net EhNTiZltJY9bKwJnXyjXPwxwbXIi2W/YuPhUi8gjXlBXiLPTjg Cancel-Lock: sha1:qBSM5nJ1qNzdSgiy9uTPcBJxj5M= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1 Hamster/2.1.0.1538 In-Reply-To: Xref: csiph.com de.comp.os.unix.programming:3004 Am 09.06.2022 um 12:32 schrieb Jakob Hirsch: > On 2022-06-08 17:46, Stefan Reuther wrote: >> Was für Gründe kann es geben, sich bewusst für die eine oder die andere >> Art zu entscheiden? Bisher bin ich - wie gesagt, Framework > > TLDR: Wenn man nur sequentiell liest, lohnt sich das wohl nur bei > "großen" Dateien. Die Grenze liegt wohl irgendwo zwischen 1 und 8 MiB, > wie man z.B. unter https://github.com/david-slatinek/c-read-vs.-mmap > sieht (Werte sind bei mir ähnlich, hab allerdings nicht den code > angeschaut). > > Eine recht interessante Diskussion gab es z.B. unter > https://news.ycombinator.com/item?id=19806804 Danke für die Links. Für normale, handliche Daten ist also read() aus Performancegründen zu bevorzugen. >> zusammengesteckt - bei der mmap-Variante. Die hat den Nachteil, nicht >> gescheit auf EIO reagieren zu können, was ich erstmal zum Nichtproblem > > Hm, bei truncated files gibt's wohl SIGBUS, ist das bei I/O-Fehler anders? Das gibt genauso SIGBUS, und ist halt kniffliger zu behandeln als 'if (... == -1)'. Stefan