Hlavní navigace

Nano 3.0 čte soubory o 70 % rychleji

Sdílet

Jan Fikar 10. 9. 2018
Nano

Včera vyšla verze 3.0 oblíbeného konzolového textového editoru nano, který vychází z editoru Pico, součásti e-mailového klienta Pine.

Nano 3.0 čte soubory asi o 70 % rychleji. ASCII soubory jsou zpracovávány asi dvakrát rychleji. Ctrl+Del smaže následující slovo Shift+Ctrl+Del předchozí slovo.

(zdroj: phoronix)

Našli jste v článku chybu?
  • Aktualita je stará, nové názory již nelze přidávat.
  • 10. 9. 2018 14:02

    Bártek (neregistrovaný) 2a02:2b88:2:----:----:----:----:----

    jak na MACBOOCÍCH? počítá se delete klávesa jako backsapce? například v nynějším mi jde jen fn+Del což maže jako normální delete. ale nevím jak smazat slovo či řádek:
    1. v terminálu
    2. normálních aplikacích

    Ale Shift+Ctrl+FN+De­lete by mi přišlo hilarious.

  • 10. 9. 2018 14:38

    Inkvizitor (neregistrovaný) 62.168.12.---

    To zrychleni o 70% je dost vagni informace. Kde a jak se to merilo, nikde nepisou.

    Tak tedy jsem si nasel prislusny commit:


    files: speed up reading by using getc_unlocked() instead of getc()

    Unlike glibc, which in getc() locks the file only when it is needed,
    FreeBSD and Bionic libc will always lock the file, causing a massive
    slowdown, as the system has to create and destroy a mutex each time
    getc() is called.


    Uznavam, ze jsem C uz delsi dobu nepouzil a muze mi neco unikat, ale to je fakt normalni cist soubor bajt po bajtu pomoci getc() v cyklu while getc() != EOF?

  • 10. 9. 2018 19:16

    Fuki (neregistrovaný) ---.antik.sk

    A ty si myslis ze gets vnutorne nepouziva getc alebo co ? :) Buffering je vec OS, urcite nacita nejaky minimalny alokacny blok, aspon 4kB a z toho ti to servuje a nebeha na disk po kazdy bajt.

  • 10. 9. 2018 23:04

    Inkvizitor (neregistrovaný) ---.eurotel.cz

    OK, proč tam teda píšou, že to pro každý bajt zamyká? To asi není moc žádoucí.

    Avoid that massive overhead by locking the file before starting to read
    and unlocking it after reading is complete, and using getc_unlocked() to
    read each byte. This makes reading on FreeBSD/macOS and Android anywhere
    from 2 to 6 times faster, and on glibc roughly seventy percent faster.