ENOSIG Discussie (threads)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: find (bug in size?)


Goedenavond, hier een lurker die tevoorschijn komt. :)

Ik zou zelf gokken dat het vanuit vroeger een optimalisatietechniek is:
misschien hebben ze een truc waarmee ze door blokken/sectoren/weetikveelwat
te tellen, een redelijk goede schatting kunnen maken van de grootte van een
bestand. Als je aan het zoeken bent, dan ben je normaliter toch niet
geinteresseerd in de bestandsgrootte op de byte nauwkeurig; je wil weten of
het om kilo- of gigabytes gaat.

Mijn hypothese is dus dat het weliswaar een optimalisatie geweest is, maar
dat het niet per se gaat om rekenkracht waarop bespaard wordt, maar eerder
om aantallen leesoperaties op de schijf. Het zou me niks verbazen als
"find" uit de begintijd van UNIX kwam, en als dat zo is dan is het met
gemak dertig jaar oud. We hebben tegenwoordig gigahertzen op de
moederborden en SSD's in de kasten zitten, maar in 1980 was dat wel anders.

Groeten,

Toon Spin


2014-03-27 18:44 GMT+01:00 Wim <Electronic.Design@xxxxxx>:

> Inderdaad, RTFM :-). Vermoedelijk weer eens een geval van informatie
> overdaad en het dan missen / er overheen lezen.
>
> Enig idee waarom het niet exact kan, waarom er afgerond wordt. Zou toch
> niet te veel rekenkracht / tijd vergen om het exact te doen lijkt mij. Als
> je nu met -1M zoekt vind je geen enkel bestand kleiner als 1.000.000 bytes.
> Beetje vreemd vind ik dat wel ook al weet ik nu dat dat komt omdat er naar
> boven afgerond wordt. Dat betekend dus dat je met
>         -1M
> nooit iets vind. Zoals mijn experimenten ook bevestigen.
>
> Ik kan natuurlijk ook altijd
>         -10000c
> gebruiken :-)
>
> Verklaart nog niet waarom ik eerst niet en nu wel de folder zelf (4096  .
> ) terug zie in de resultaten:
>         ~/scripts/testjes/findme $ find . -size -12k -printf "%s\t%f\n"
>         4096    .
>         9370    9370
> --
> Groeten,
>
>         Wim
>
>
>
> On Thu, 27 Mar 2014 14:39:42 +0100 Wytze van der Raay <wytze@xxxxxxxxxx>
> wrote:
>
> > On 03/27/2014 02:32 PM, Wim wrote:
> > > ...
> > > Als ik dan doe (10k met min):
> > > ~/scripts/testjes/findme $ find . -size -10k -printf "%s\n"
> > > 4096
> > > En dat is wat anders. Dat lijkt op de omvang van de folder findme zelf.
> > >
> > > Nu met 10k zonder -
> > > ~/scripts/testjes/findme $ find . -size 10k -printf "%s\n"
> > > 9370
> > >
> > > find . -size -30k -printf "%s\n"
> > > 4096
> > > 20480
> > > 9370
> > >
> > > Rara, ik snap dat niet, het wordt steeds vreemder lijkt het. Dat ik nu
> ook
> > > 4096 te zien krijg is nieuw sinds ik mijn vraag gesteld heb. Nog even
> > > gecontroleerd in de folder waar ik initieel aan het zoeken was met
> find en
> > > daar zie ik nu ook extra 4096 bij de resultaten.
> >
> > RTFM :-)
> >
> > >        -size n[cwbkMG]
> > >               File  uses  n units of space, rounding up.  The
> following suffixes
> > >               can be used:
> > >
> > >               `b'    for 512-byte blocks (this is the default if  no
>  suffix  is
> > >                      used)
> > >
> > >               `c'    for bytes
> > >
> > >               `w'    for two-byte words
> > >
> > >               `k'    for Kilobytes (units of 1024 bytes)
> > >
> > >               `M'    for Megabytes (units of 1048576 bytes)
> > >
> > >               `G'    for Gigabytes (units of 1073741824 bytes)
> > >
> > >               The  size does not count indirect blocks, but it does
> count blocks
> > >               in sparse files that are not actually  allocated.   Bear
>  in  mind
> > >               that  the `%k' and `%b' format specifiers of -printf
> handle sparse
> > >               files differently.  The `b' suffix always denotes
> 512-byte  blocks
> > >               and  never  1 Kilobyte blocks, which is different to the
> behaviour
> > >               of -ls.  The + and - prefixes signifiy greater than and
> less than,
> > >               as usual, but bear in mind that the size is rounded up
> to the next
> > >               unit (so a 1-byte file is not matched by -size -1M).
> >
> > De opmerkingen over rounding verklaren je resultaten.
> >
> > Groeten,
> > -- wytze
> --
> Met vriendelijke groet,
> Wim
> --
> ENOSIG discussie | irc.oftc.net #enosig
> Afmelden? people+unsubscribe@xxxxxxxxxx
>
>

Gerelateerd:


[ Date Index] [ Thread Index]