Groups | Search | Server Info | Login | Register


Groups > de.comp.os.unix.programming > #3017

Re: mmap oder read?

From Jan Bruns <ebay@abnuto.de>
Newsgroups de.comp.os.unix.programming
Subject Re: mmap oder read?
Date 2022-07-02 05:27 +0000
Message-ID <jia39aF38n7U1@mid.individual.net> (permalink)
References <t7qnab.5fg.1@stefan.msgid.phost.de>

Show all headers | View raw


Stefan Reuther:

> ich hab hier einen Microservice, der im Wesentlichen den lieben langen
> Tag Dateien aus (wenigen) Containerfiles (z.B. *.tar) aufbereitet und
> serviert.

Nunja, das klingt aber auch sehr, als wenn da indexlose Komplett-
Datenkomprimierung irgendwie leicht mal auf der Wunschliste auftauchen 
könnte.

> Je nachdem, wie ich die Framework-Komponenten zusammenstecke, bekomme
> ich für das Lesen einer Datei aus dem Container
> 
>    mmap, <Verarbeiten>, munmap
> 
> oder
> 
>    malloc, read, <Verarbeiten>, free
> 
> 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
> zusammengesteckt - bei der mmap-Variante. Die hat den Nachteil, nicht
> gescheit auf EIO reagieren zu können, was ich erstmal zum Nichtproblem
> deklariert hab: wenn die VM anfängt, EIO zu werfen, hab ich ganz andere
> Probleme.

Hm. Also jetzt grad hat man ja wohl typischerweise zumindest mal die 
Situation, daß man einiges an virtuellem Adressraum frei hat. Und wenn 
dann noch die Datei gross im Vgl. zu vorhandenem bzw. für die Anwendung 
zu veranschlagendem RAM ist, und das Zugriffsmuster tatsächlich halbwegs 
randomös ist, dann hätte man mit einer map immerhin mal dem Kernel 
einigermassen präzise beschrieben, was man so braucht.

Aus deiner Problembeschreibung geht aber hervor, daß es akzeptabel ist, 
die Datei sogar komplett im RAM zu halten (in der Abwägung taucht ja 
überhaupt keine seek Operation auf). Wenn das so egal ist, soll das wohl 
auch wirklich einfach so egal sein, schätze ich mal pauschal. Wobei 
zugegeben das Experiment von Bonita Montero auf was anderes hinzudeuten 
scheint. Vllt. map verwenden, aber dennoch vorab zunächst mal linear 
alles zugreifen?

Gruss

Jan Bruns


Back to de.comp.os.unix.programming | Previous | NextPrevious in thread | Find similar


Thread

mmap oder read? Stefan Reuther <stefan.news@arcor.de> - 2022-06-08 17:46 +0200
  Re: mmap oder read? Rainer Weikusat <rweikusat@talktalk.net> - 2022-06-08 17:27 +0100
    Re: mmap oder read? Stefan Reuther <stefan.news@arcor.de> - 2022-06-09 17:52 +0200
  Re: mmap oder read? Jakob Hirsch <jh.expires-20221231@plonk.de> - 2022-06-09 12:32 +0200
    Re: mmap oder read? Rainer Weikusat <rweikusat@talktalk.net> - 2022-06-09 15:17 +0100
    Re: mmap oder read? Stefan Reuther <stefan.news@arcor.de> - 2022-06-09 17:50 +0200
      Re: mmap oder read? Rainer Weikusat <rweikusat@talktalk.net> - 2022-06-09 20:37 +0100
        Re: mmap oder read? Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-10 07:30 +0200
  Re: mmap oder read? Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-09 13:18 +0200
    Re: mmap oder read? Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-10 09:06 +0200
    Re: mmap oder read? Bonita Montero <Bonita.Montero@gmail.com> - 2022-06-11 09:42 +0200
  Re: mmap oder read? Jan Bruns <ebay@abnuto.de> - 2022-07-02 05:27 +0000

csiph-web