Medo
thread-pool
Our great sponsors
Medo | thread-pool | |
---|---|---|
12 | 6 | |
142 | 1,924 | |
- | - | |
4.5 | 4.2 | |
8 months ago | about 1 month ago | |
C++ | C++ | |
MIT License | MIT License |
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.
Medo
- Peredvizhnikov Engine is a fully lock-free game engine written in C++20
-
De-Bloated Windows 11 Build Runs on 2GB of RAM
To me the most impressive recent example is a video editor developed for Haiku OS [0]. It fits on a 1.44MB floppy disk.
[0] https://github.com/smallstepforman/Medo
-
LosslessCut: The Swiss Army Knife of Lossless Video/Audio Editing
> does anybody know of an editor capable of cutting between inter frames?
https://github.com/smallstepforman/Medo
- A C++17 thread pool for high-performance scientific computing
-
Ask HN: How were video games from the 90s so efficient?
I’ve created a 4k UHD video editor for Haiku OS (https://github.com/smallstepforman/Medo), it’s a C++17 native app, with over 30 OpenGL GLSL effect plugins and addons, multi threaded Actor model, over 10 user languages, and the entire package file fits on a 1.44Mb floppy disk with space to spare. If I was really concerned about space, I could probably replace all .png resources with WebP and save another 200kb.
How is it so small? No external dependancies (uses stock Haiku packages), uses the standard C++ system API, and written by a developer that learned their trade on restrained systems from the 80’s. Look at the old Amiga stuff from that era.
-
HaikuOS running on real RISC-V hardware
At its core, Linux offers variety, while Haiku strives to be a unified system. There is only one official UI, one sound API, one filesystem, one preference system, etc. making Haiku easier to administer. The system kits are designed to work together.
For instance, I created a from scratch video editor for Haiku which does 4K UHD videos with OpenGL based plugins, with over 30 effects, and 10 languages. The installer package with no dependancies is 1.3Mb (fits on a floppy disk). https://github.com/smallstepforman/Medo Under Linux, I would require many more dependancies since I have so no guarantee what libraries or API the users have installed.
-
What GUI Library do you use?
My favourite - BeOS/Haiku Interface Kit (Link to my project with screenshot https://github.com/smallstepforman/Medo).
-
How to Use CMake Without the Agonizing Pain - Part 1
You can always use both ... example from my project: https://github.com/smallstepforman/Medo
-
Linux, macOS, and Windows running simultaneously on a first gen Core i5
Wait until you try Haiku on the same hardware. I’ve got a 4K video editor with no HW acceleration yet is smoother to edit videos than both OSX and Win10.
https://github.com/smallstepforman/Medo/raw/main/Docs/Medo.j...
-
Announcement: Haiku Media Editor - R1.0.0, Beta 1
https://github.com/smallstepforman/Medo It is for a opensource Media Operating System called Haiku Os, and it is less than 1.44 Mb open source very lightweight:
thread-pool
- Learn performance improvement
-
How do i make the main thread sleep while worker threads work and worker threads sleep when waiting for main thread to execute them
Nope, it's definitely a problem with your code, not an external problem. This is an inevitable result when your threading scheme is not watertight. I don't have any code snippets since I'm just remembering what I've done in the past on projects, but if you can't design it to work yourself I suggest using a library. You said you've been "dealing with [multithreading] for some time now and think I have a decent understanding" but that doesn't sound like you really have a solid theoretical understanding of the subject, especially considering that it's a notoriously difficult subject. My recommendation is either to go back and plan out a watertight synchronization scheme on paper (may require finding some lecture series on multithreading theory), or to use an off-the-shelf thread pool library like this one I just found by googling thread pool library. I suggest the former if this is a hobby project, but if this code has a possibility of ever being used by other people I suggest doing the latter.
-
Header-only C++14 quality thread pool
Hi, I am looking for a header-only C++14 (or lower) quality thread pool. Ideally, it would be similar to BS::thread_pool but in C++14. Most of them I find on GitHub are bloated (e.g. concurrencpp) or have many open Issues. Ideal usage would be similar to:
-
A C++17 thread pool for high-performance scientific computing
There are lots of them and many are built into the OS(e.g. GCD on mac's, Windows has a thread pool api, TBB on all of them...)
It would be neat if the github site https://github.com/bshoshany/thread-pool or the paper did some comparisons to the existing body out there.
What are some alternatives?
xhyve - xhyve, a lightweight OS X virtualization solution
thread-pool - A modern, fast, lightweight thread pool library based on C++20
cmake-init - The missing CMake project initializer
sobjectizer - An implementation of Actor, Publish-Subscribe, and CSP models in one rather small C++ framework. With performance, quality, and stability proved by years in the production.
cmake-init-vcpkg-example - cmake-init generated executable project with vcpkg integration
Lazy - Light-weight header-only library for parallel function calls and continuations in C++ based on Eric Niebler's talk at CppCon 2019.
macOS-Simple-KVM - Tools to set up a quick macOS VM in QEMU, accelerated by KVM.
ZIO - ZIO — A type-safe, composable library for async and concurrent programming in Scala
OSX-KVM - Run macOS on QEMU/KVM. With OpenCore + Monterey + Ventura + Sonoma support now! Only commercial (paid) support is available now to avoid spammy issues. No Mac system is required.
TDP - The Darkest Pipeline - Multithreaded pipelines for modern C++
VoxelSpace - Terrain rendering algorithm in less than 20 lines of code
envpool - C++-based high-performance parallel environment execution engine (vectorized env) for general RL environments.