Wait, Boost.Log 1.72.0 can't be compiled with C++20? (it's been fixed in 1.73.0)
https://godbolt.org/z/c49894
Come on ArchLinux, I need GCC 10.2.0 and Boost 1.73.0! Don't make me compile them myself!
https://godbolt.org/z/c49894
Come on ArchLinux, I need GCC 10.2.0 and Boost 1.73.0! Don't make me compile them myself!
Web++: A C++ Web Framework
Wait, Boost.Log 1.72.0 can't be compiled with C++20? (it's been fixed in 1.73.0) https://godbolt.org/z/c49894 Come on ArchLinux, I need GCC 10.2.0 and Boost 1.73.0! Don't make me compile them myself!
If anyone asks, this is why I'm gonna implement spdlog's wrapper first before implementing boost.log's wrapper in the framework.
This media is not supported in your browser
VIEW IN TELEGRAM
GCC 10.2.0's reaction to my code :)
This media is not supported in your browser
VIEW IN TELEGRAM
Am I making this channel like TikTok, wait Microsoft? 😅
Hmm, wait I made it with Instagram which is owned by facebook.
I don't know what I made 😅😂
Hmm, wait I made it with Instagram which is owned by facebook.
I don't know what I made 😅😂
Web++: A C++ Web Framework
I just spent practically 2 days trying to re-implement std::tolower and std::toupper. Benchmarked so many versions. Tried multiple versions that were written with SIMD and yet the simplest version came out on top after GCC and Clang optimizing them.
benchmarks.7z
68.1 KB
And here are the benchmarks.
And here are some twitter fellows helping me failing at topping the easiest for loop ever written :)
https://twitter.com/the_moisrex/status/1307670297911402497?s=20
Now we know how horrible some of the utilities in the STL are. Well, of course std::tolower and std::toupper do have locales but that's what I don't need in this project; at least not now.
And here are some twitter fellows helping me failing at topping the easiest for loop ever written :)
https://twitter.com/the_moisrex/status/1307670297911402497?s=20
Now we know how horrible some of the utilities in the STL are. Well, of course std::tolower and std::toupper do have locales but that's what I don't need in this project; at least not now.
I've added some of the benchmarks I've used for this project to the git repository, unfortunately I'm not able to gather all the benchmarks I've used so far, and even some of them don't have anything to do with this project directly (for example I've did lots of benchmarking for std::variant and others).
I'll try to put all of future benchmarks in the repository as well (in the benchmarks directory).
Feel free to run them, add to them, updated them and learn from them as I did a lot so far.
Specially the iequals and tolower benchmarks which I did this week were amazing stuff.
Even with iequals, I madethe algorithm to run about 2000x faster.
You can find the benchmarks in dev branch in the benchmarks directory: https://github.com/the-moisrex/webpp/tree/dev/benchmarks
I'll try to put all of future benchmarks in the repository as well (in the benchmarks directory).
Feel free to run them, add to them, updated them and learn from them as I did a lot so far.
Specially the iequals and tolower benchmarks which I did this week were amazing stuff.
Even with iequals, I madethe algorithm to run about 2000x faster.
You can find the benchmarks in dev branch in the benchmarks directory: https://github.com/the-moisrex/webpp/tree/dev/benchmarks
My curiosity got the best me; so I implemented a SIMD-enabled string equality function just to find out ... (find out about the results here:)
https://github.com/the-moisrex/webpp/tree/dev/benchmarks/equals
https://github.com/the-moisrex/webpp/tree/dev/benchmarks/equals
GitHub
the-moisrex/webpp
C++ web framework. Contribute to the-moisrex/webpp development by creating an account on GitHub.