Libuv
| Vývojář | Ben Noordhuis |
|---|---|
| Aktuální verze | 1.52.1[1] |
| Operační systém | multiplatformní |
| Platforma | Linux, Android, Microsoft Windows a macOS/Darwin,[2] FreeBSD, OpenBSD |
| Vyvíjeno v | C |
| Typ softwaru | knihovna pro V/V abstrakci |
| Licence | MIT |
| Web | libuv |
| Některá data mohou pocházet z datové položky. | |
libuv je multiplatformní C knihovna, která poskytuje podporu pro asynchronní vstupy/výstupy s využitím smyčky událostí. Podporuje epoll(4), kqueue(2), Windows IOCP, Solaris porty událostí a od verze 1.45.0 Linux io_uring pro výběr asynchronních operací se soubory.[3] Primárně je navržena pro použití v Node.js, ale používají ji i jiné softwarové projekty.[4] Původně byla abstrakcí okolo libev nebo Windows IOCP, protože libev nepodporuje IOCP. Ve verzi pro node-v0.9.0 byla závislost na libev odstraněna.[5]
Vlastnosti
[editovat | editovat zdroj]Knihovna poskytuje:[2]
- plnohodnotnou smyčku událostí založenou na epoll, kqueue, IOCP nebo portech událostí
- asynchronní TCP a UDP sokety
- asynchronní dotazy na DNS
- asynchronní operace se soubory a souborovým systémem
- události systému souborů
- terminál řízený ANSI escape kódy
- meziprocesová komunikace (IPC) se sdílením soketů využívající unixové sokety nebo pojmenované roury (Windows)
- práce s potomky procesu
- fond vláken
- zpracovávání signálů
- hodiny s vysokým rozlišením
- threading a synchronizační primitiva
Původ názvu
[editovat | editovat zdroj]Ben Noordhuis, který libuv vyvinul, uvádí, že název libuv původně nic neznamenal, ale protože se jej lidé ptali, co znamená, vymyslel vysvětlení Unicorn Velociraptor (jednorožec velociraptor), jehož obrázek se stal logem knihovny.[6]
Odkazy
[editovat | editovat zdroj]Reference
[editovat | editovat zdroj]V tomto článku byl použit překlad textu z článku libuv na anglické Wikipedii.
- ↑ "Release v1.52.1: 2026.03.06, Version 1.52.1 (Stable) · libuv/libuv"; datum přístupu: 7. března 2026; autor (textově): libuv; jazyk díla/jména: angličtina.
- 1 2 The libuv project page and source code [online]. [cit. 2016-06-30]. Dostupné online.
- ↑ LARABEL, Michael. libuv Adds IO_uring Support For ~8x Throughput Boost [online]. Phoronix, 2023-04-18 [cit. 2026-07-14]. Dostupné online.
- ↑ Projects that use libuv [online]. [cit. 2025-01-13]. Dostupné online.
- ↑ An introduction to libuv
- ↑ What does UV stand for in libuv? [online]. [cit. 2022-06-07]. Dostupné online.