With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js. Learn more →
Top 23 Io Open-Source Projects
-
gnet
🚀 gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet 是一个高性能、轻量级、非阻塞的事件驱动 Go 网络框架。
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
System.IO.Abstractions
Just like System.Web.Abstractions, but for System.IO. Yay for testable IO access!
-
psl
📚 PHP Standard Library - a modern, consistent, centralized, well-typed, non-blocking set of APIs for PHP programmers
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
rio
pure rust io_uring library, built on libc, thread & async friendly, misuse resistant (by spacejam)
-
xNVMe
Portable and high-performance libraries and tools for NVMe devices as well as support for traditional/legacy storage devices/interfaces.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
Project mention: Epoll: The API that powers the modern internet (2022) | news.ycombinator.com | 2024-01-11
Project mention: Functional Programming Library for Golang by IBM | news.ycombinator.com | 2023-08-17A simple alternative is the combination of:
- https://github.com/samber/lo
- https://github.com/samber/mo
The split is also nice as you can choose to just use the generic convenience functions from lo without the more FP related things from mo.
https://github.com/Xudong-Huang/may
The project has some serious restrictions and unsound footguns (e.g. around TLS), but otherwise it's usable enough. There are also a number of C/C++ libraries, but I can not comment on those.
azjezz/psl: PHP Standard Library - a modern, consistent, centralized, well-typed, non-blocking set of APIs for PHP programmers
scnlib (https://github.com/eliaskosunen/scnlib) scanf
Project mention: Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml | news.ycombinator.com | 2024-03-20the actual project (Readme has some code samples): https://github.com/ocaml-multicore/eio
Location: The Netherlands
Remote: Yes
Willing to relocate: Yes
Technologies: Three.js, TypeScript, Godot
Résumé/CV: https://nickvanurk.com/resume.pdf
Github: https://github.com/nickyvanurk
LinkedIn: https://www.linkedin.com/in/nickyvanurk
Email: [email protected]
Interests: Computer graphics, 3D Applications, Games, Robotics, Digital twins, Simulations, Tool development, CRUD websites / micro-services in a creative industry (e.g. game community/tool site or multiplayer back-end), UX/UI, FUI Design
Can rapidly learn new technologies. Web, GIS, robotics and game development experience. Build my own 8-bit computer: https://nickvanurk.com/8bit.mp4 Optimizing things gets me all excited. Check out these Three.js demos I made: https://nickvanurk.com/capping/ and https://nickvanurk.com/void/ My latest project is a 3D GIS tool: https://nickvanurk.com/prototype/. Currently working on bringing 3D to the Moddio game engine (https://www.modd.io/). Feel free to contact me by email or LinkedIn!
Project mention: What Every Developer Should Know About GPU Computing | news.ycombinator.com | 2023-10-21I thought I'd share something with my experience with HPC that applies to many areas, especially in the rise of GPUs.
The main bottleneck isn't compute, it is memory. If you go to talks you're gonna see lots of figures like this one[0] (typically also showing disk speeds, which are crazy small).
Compute is increasing so fast that at this point we finish our operations long faster than it takes to save those simulations or even create the visualizations and put on disk. There's a lot of research going into this, with a lot of things like in situ computing (asynchronous operations, often pushing to a different machine, but needing many things like flash buffers. See ADIOS[1] as an example software).
What I'm getting at here is that we're at a point where we have to think about that IO bottleneck, even for non-high performance systems. I work in ML now, which we typically think of as compute bound, but being in the generative space there are still many things where the IO bottlenecks. This can be loading batches into memory, writing results to disk, or communication between distributed processes. It's one beg reason we typically want to maximize memory usage (large batches).
There's a lot of low hanging fruit in these areas that aren't going to be generally publishable works but are going to have lots of high impact. Just look at things like LLaMA CPP[2], where in the process they've really decreased the compute time and memory load. There's also projects like TinyLLaMa[3] who are exploring training a 1B model and doing so on limited compute, and are getting pretty good results. But I'll tell you from personal experience, small models and limited compute experience doesn't make for good papers (my most cited work did this and has never been published, gotten many rejections for not competing with models 100x it's size, but is also quite popular in the general scientific community who work with limited compute). Wfiw, companies that are working on applications do value these things, but it is also noise in the community that's hard to parse. Idk how we can do better as a community to not get trapped in these hype cycles, because real engineering has a lot of these aspects too, and they should be (but aren't) really good areas for academics to be working in. Scale isn't everything in research, and there's a lot of different problems out there that are extremely important but many are blind to.
And one final comment, there's lots of code that is used over and over that are not remotely optimized and can be >100x faster. Just gotta slow down and write good code. The move fast and break things method is great for getting moving but the debt compounds. It's just debt is less visible, but there's so much money being wasted from writing bad code (and LLMs are only going to amplify this. They were trained on bad code after all)
[0] https://drivenets.com/wp-content/uploads/2023/05/blog-networ...
[1] https://github.com/ornladios/ADIOS2
[2] https://github.com/ggerganov/llama.cpp
[3] https://github.com/jzhang38/TinyLlama
Project mention: Ask HN: Why are there no open source NVMe-native key value stores in 2023? | news.ycombinator.com | 2023-10-16
Io related posts
- Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml
- Modd.io: HTML5 Multiplayer Game Engine
- Por que aprender OCaml?
- A complete guide to the Node.js event loop
- Node v20.3.0 (Current) upgrade to libuv 1.45.0, including SIGNIFICANT performance improvements to file system operations on Linux
- Node.js – v20.3.0
- io_uring support for libuv – 8x increase in throughput
-
A note from our sponsor - SurveyJS
surveyjs.io | 29 Apr 2024
Index
What are some of the best open-source Io projects? This list will help you:
Project | Stars | |
---|---|---|
1 | libuv | 23,241 |
2 | gnet | 8,823 |
3 | trio | 5,883 |
4 | mo | 2,261 |
5 | may | 1,720 |
6 | System.IO.Abstractions | 1,464 |
7 | psl | 1,148 |
8 | kotlinx-io | 1,066 |
9 | monio | 1,040 |
10 | scnlib | 947 |
11 | rio | 894 |
12 | lwt | 682 |
13 | eioio | 517 |
14 | moddio2 | 454 |
15 | aiofile | 441 |
16 | zap | 390 |
17 | ByteStream | 357 |
18 | SocketIOUnity | 345 |
19 | lasio | 334 |
20 | kotlin-retry | 322 |
21 | ADIOS2 | 253 |
22 | xNVMe | 211 |
23 | react-wordcloud | 205 |
Sponsored