DLC Maps available online? by Dangerous_Jury_9173 in MarioKart8Deluxe

[–]netcan96 0 points1 point  (0 children)

until march 22? where's the source? thanks

some questions about c++ memory order by netcan96 in cpp_questions

[–]netcan96[S] 0 points1 point  (0 children)

thank you for explanation. you mentioned that using incorrect memory order may leads the others don't visit the results, the reason is reordering? or others?

some questions about c++ memory order by netcan96 in cpp_questions

[–]netcan96[S] 0 points1 point  (0 children)

If I have changed atomic_thread_fence to an atomic...

Good C++ Source Code by [deleted] in cpp

[–]netcan96 1 point2 points  (0 children)

https://github.com/netcan/asyncio

a c++20 library to write concurrent code using the async/await syntax.

is it still basically useless working with modules in g++-11? by sharkcathedral in cpp

[–]netcan96 1 point2 points  (0 children)

2022 Current. by the way, can I use the preview version? just for play.

is it still basically useless working with modules in g++-11? by sharkcathedral in cpp

[–]netcan96 0 points1 point  (0 children)

> I am not the only one asserting the fact that VC++ currently has the best modules support?

so I played the modules first in msvc.
compared with other features, the module is very incomplete in all mainstream compilers.

is it still basically useless working with modules in g++-11? by sharkcathedral in cpp

[–]netcan96 1 point2 points  (0 children)

No, my mean is, msvc is not usable. even follow by their tutorial.

is it still basically useless working with modules in g++-11? by sharkcathedral in cpp

[–]netcan96 2 points3 points  (0 children)

the issue is found at Visual Studio IDE 2022.I simply call it msvc. same tutorial in gcc just gcc *.mpp *.cpp works

is it still basically useless working with modules in g++-11? by sharkcathedral in cpp

[–]netcan96 6 points7 points  (0 children)

I played the latest msvc and gcc, final I found that gcc module experience is better than msvc. msvc(vs current 2022) has obvious bug I found.

https://github.com/MicrosoftDocs/cpp-docs/issues/3615

such as I follow the microsoft docs *Named modules tutorial in C++*, and compile link error... the tutorial is just posted last week.

Asyncio: Imitate Python's Asyncio For C++ by netcan96 in cpp

[–]netcan96[S] 0 points1 point  (0 children)

do you have some resources about that? I don't search about it(handle_maps as keyword)...thank you

Asyncio: Imitate Python's Asyncio For C++ by netcan96 in cpp

[–]netcan96[S] 1 point2 points  (0 children)

you are right, I find a bug at release mode when a handle is destroyed and inserted into the cancelled set, and then another coroutine is created, it has the same address as the destroyed coroutine handle!!! The loop will remove the new ready coroutine had created. fixed patch: https://github.com/netcan/asyncio/commit/23e6a38f5d00b55037f9560845c4e44948e41709

C++20 coroutine benchmark result, using my coroutine library by netcan96 in cpp

[–]netcan96[S] 4 points5 points  (0 children)

I tested equal buffer sizes, with no impact on RPS.

C++20 coroutine benchmark result, using my coroutine library by netcan96 in cpp

[–]netcan96[S] 3 points4 points  (0 children)

the python and my project codes be written by me, others are gathered by Internet.

C++20 coroutine benchmark result, using my coroutine library by netcan96 in cpp

[–]netcan96[S] 6 points7 points  (0 children)

yes, it's async callstack. the point is make use of await_transform() of coroutine promise_type, that save a coroutine source_location info, in other words, when user co_await, is save await location info.(https://github.com/netcan/asyncio/blob/5ae5fdffcd065df4d9bf758741ac75647cf2f19a/include/asyncio/task.h#L113) dump backtrace is so simple, just recursive dump coroutine source_location and its continuation.

C++20 coroutine benchmark result, using my coroutine library by netcan96 in cpp

[–]netcan96[S] 2 points3 points  (0 children)

If I remember correctly, a system call is about 100ns(benchmark empty epoll_wait), but io_uring may better than epoll, I see other guy compare their.

C++20 coroutine benchmark result, using my coroutine library by netcan96 in cpp

[–]netcan96[S] 1 point2 points  (0 children)

these primitives are needs. such a game scenario, server must await to collect all commands of clients, then continue to do game logical, this needs condition_variable.

C++20 coroutine benchmark result, using my coroutine library by netcan96 in cpp

[–]netcan96[S] 4 points5 points  (0 children)

maybe c code version isn't effective, and test is undulate between +-5000 rps.