microjob
libev
microjob | libev | |
---|---|---|
2 | 4 | |
2,018 | 1,540 | |
- | - | |
0.0 | 0.0 | |
over 1 year ago | over 3 years ago | |
TypeScript | C | |
MIT License | BSD-2-Clause |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
microjob
-
Ship it!
node.js is multithreaded under the hood and always has been. It's true that we used to not have multi thread capability as developers, but we actually have for several years now, but most developers have probably never used it. Even prior to Worker Threads/Shared Buffers, we had 3rd party modules such as node-fiber and various shared memory data structure libraries which could be used to build multi threaded javascript programs. https://github.com/wilk/microjob <- dead simple batteries included multi threading in node.js
-
Should all functions be async?
Real life example: We wanted our website to be static files to save on system time as a kind of caching strategy. So far there are about 100 pages that need to be rendered sometimes when there is an update to the site. Running all of this through our templating engine at once caused the node server to be unresponsive for about 30 to 40 seconds. No joy. There are a few ways to solve this but the one we decided on was to use web worker threads for this execution because this was not going to happen very often. About 5% to 10% of the time. It basically just puts this function (rendering all of the pages) into another thread and returns the result. Now this takes about 15 to 20 seconds and does not hold up the main thread. We used a library called Microjob that makes using a web worker really easy https://github.com/wilk/microjob
libev
-
Polyphony: Fine-Grained Concurrency for Ruby
Thank you for this.
I am interested in how concurrency can be represented elegantly and efficiently, so I am interested in how libraries can simplify async and make it easier to reason about and write
The libev and ioring support is great for IO scalability (https://github.com/enki/libev not sure if this is the official repo)
In Python I use the "select" module and use epoll on Linux.
I am currently thinking of designing an API that allows the registration of epoll-like listeners to arbitrary objects, including business objects, so you can efficiently register a listener on multiple behaviours of multiple arbitrary objects.
I wrote an async/await simulation in Java and my scheduler is really simple, it's just a for loop that checks to see if there are any tasks that can progress. I notice the switch_fiber in polyphony must do something similar. This is similar to a yield in a coroutine.
My async/await simulation takes the following program:
task1:
- Ship it!
-
C in Web Dev
Also, libev
-
Ideas, thoughts, and notes on an action based polymorphism pattern for C
It's done even now. See ev.h where they do this. Just that you disable GCC's aliasing warning. There's a reason why restrict and aliasing became important to deal with. It wasn't standards that killed it.
What are some alternatives?
threads.js - 🧵 Make web workers & worker threads as simple as a function call.
libuv - Cross-platform asynchronous I/O
threadedClass - Fork instances of classes with one line of code, all while retaining the types of the class.
libevent - Event notification library
Joplin - Joplin - the secure note taking and to-do app with synchronisation capabilities for Windows, macOS, Linux, Android and iOS.
Boost.Asio - Asio C++ Library
jobber - 💼 Super simple API to fetch job listings from popular job boards (Ashby, Greenhouse, Lever, etc.)
C++ Actor Framework - An Open Source Implementation of the Actor Model in C++
react-native-multithreading - 🧵 Fast and easy multithreading for React Native using JSI
asyncio - asyncio is a c++20 library to write concurrent code using the async/await syntax.
uvw - Header-only, event based, tiny and easy to use libuv wrapper in modern C++ - now available as also shared/static library!
Dasynq - Thread-safe cross-platform event loop library in C++