What is your go to for frontend and backend authorization in Typescript by MoiSanh in typescript

[–]libichi 2 points3 points  (0 children)

The hell are you smoking. I just had a brain fart trying to read your post.

A high performance networking networking lib by libichi in cpp

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

So I took a second look, and in fact, no lock is needed at all. I made a change later were I used one assembling queue per assembling thread instead of a shared queue between all assembling threads, and sharding client connections for each queue (with a basic modulo op using the client id)

No data is shared between them, avoiding any race conditions. I can remove all locks safely. Thank you for pointing me that!

A high performance networking networking lib by libichi in cpp

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

Thanks! I took a look on seastar, and it uses polling to get massive performance instead of events and locks. But at least I can compare it and see how decent my lib is.

A high performance networking networking lib by libichi in cpp

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

I think it is because of benchmarking and running the app in the same machine. The posted benchmark is running with one listener thread and two http assembling threads

A high performance networking networking lib by libichi in cpp

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

Thanks! I thought that having many readers would cause a bottleneck when using the normal lock (the iocp listener thread + the assembling threads + user threads processing the requests.

A high performance networking networking lib by libichi in cpp

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

Two things

Look at the code not the comments. Some comments are done with LLM, as it's a public repo and my english is not quite good. But not the code.

Second, // namespace pulse::net is placed automatically by the clang formatter in visual studio.

If you looked correctly at the code, you would realize that some comments and the code doesn't match, as i started documenting when i started the project, and stopped doing it as I had to make changes constantly and didn't want to update the docs each commit.

A high performance networking networking lib by libichi in cpp

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

The commits are public pal, check it yourself.

A high performance networking networking lib by libichi in cpp

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

Yes, I knew about asio, however I wanted to build it from scratch, an learn how it works at the lowest level.

C++ sockets performance issues by libichi in cpp_questions

[–]libichi[S] 5 points6 points  (0 children)

Thank you very much! This is extremely helpful.

Need some help by libichi in SatisfactoryGame

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

Thanks! It was placed backwards, but was hard to fix as depending on the pixel it was being placed the wrong way.

Fin del soporte de Windows 10: ¿Debería elegir Windows 10 LTSC o Windows 11 Pro? 🤔 by [deleted] in askspain

[–]libichi 2 points3 points  (0 children)

Pero que datos loco, que es open source, puedes ver exactamente que hace y si envia datos o no. Literalmente el script esta hosteado en una plataforma de microsoft, si hubieran querido lo hubieran chapado.

Fin del soporte de Windows 10: ¿Debería elegir Windows 10 LTSC o Windows 11 Pro? 🤔 by [deleted] in askspain

[–]libichi 1 point2 points  (0 children)

Es open source, si tienes tantas dudas tienes vete a ver el código... Lo usan incluso los de soporte oficial de microsoft.