All those people who complain about project names squatting on existing words have finally been heard :-D
[flagged]
Peredvizhnikov Engine: Lock-free game engine written in C++20
21–30 of 183 posts
Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#22I don't have time to read through the impl, but the readme makes it sound like a classic distributed system between game threads, where patterns like retry-backoff will be common.
https://github.com/eduard-permyakov/peredvizhnikov-engine/bl...
Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#23Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#24Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#25[flagged]
Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#26Does anyone have experience debugging/profiling highly contended critical sections of STM vs a more traditional mutex implementation? At the end of the day something has to mediate concurrent access to shared memory, there’s no free lunches, and mutexes are so well optimized, profiled, and understood. I’m unclear if the same applies to STM where a transaction may need to be retried an unbounded(?!) number of times.
The meat here is scheduler.cpp. It uses std::coroutines.
This is like async/await in other languages. The scheduler has a queue of work(coroutines) and a pool of threads(N>0) to execute those on.
In this case, messages are passed between work that contains the data. No locks are required at the expense of memory footprint.
Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#27I have an Actor framework which uses a vanilla std::deque for method pointers, and to add messages to the queue, the locking technique is a Benaphore (the original Futex, which uses an atomic and a locking primitive, with the twist that my locking primitive is a combo of spinlock/mutex based on retry count). Nothing special. Benchmarks show that very rarely does the message push function block, and the chance of an O…
Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#28[flagged]
Forgive me if it’s common knowledge, but what’s wrong with SDL2 in this case? Broadly speaking, I feel as though there is largely positive sentiment around the SDL project, no?
2/3rds of the library is dead code when working with Vulkan.
Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#29I have an Actor framework which uses a vanilla std::deque for method pointers, and to add messages to the queue, the locking technique is a Benaphore (the original Futex, which uses an atomic and a locking primitive, with the twist that my locking primitive is a combo of spinlock/mutex based on retry count). Nothing special. Benchmarks show that very rarely does the message push function block, and the chance of an O…
Re: Peredvizhnikov Engine: Lock-free game engine written in C++20
#30I have an Actor framework which uses a vanilla std::deque for method pointers, and to add messages to the queue, the locking technique is a Benaphore (the original Futex, which uses an atomic and a locking primitive, with the twist that my locking primitive is a combo of spinlock/mutex based on retry count). Nothing special. Benchmarks show that very rarely does the message push function block, and the chance of an O…
Well, except to people who have a hard requirement that there never be this unpredictable, infrequent longer delay you mention.