🍌 C++ Feed
305 subscribers
218 photos
12.7K links
Агрегатор всего подряд про C++.

Для связи: @smertig

Powered by https://github.com/Smertig/banana
Download Telegram
The Pasture
The Community

Against all of my self-preservation instincts, I decided to do one last conference talk. Originally, I was set up to do 11 conferences, and every single Committee meeting – both C and C++ – this year. Of course, those plans have were railroaded by Sublime Mother Nature. Still, I mustered my strength over the last 32 days since I left Twitter to make one last video. Leaving Twitter was not the cause of this, it was actually the argument I got into after I left with my friends. Or… well, ex-friends now, probably. Even if they invite me back I don’t think there is a way I can mentally bring myself to go back there and participate…

But first, the conference.

The Conference

It’s called “[[derpconf]] 2020”, but it’s just me, the Derp. Or well, the entire The Phantom Derpstorm (ThePhD, that’s where it comes from, not a degree in case you were...

Read full post
C++
Did a mod really just post their own video and lock the thread so that no one could comment?

https://www.reddit.com/r/cpp/comments/j68ylq/the_c_community_thephd/ What is this? Disregarding the video completely, why would a mod think it is fine to post something, leave a "it's time to listen" post, then lock the thread? This is pretty gross. Creeping mod abuse is a way to ruin a good forum (which I think this is). If you think there is something worth saying, why wouldn't you want to interface with people? (Also please don't reply to this thread, this is a time to listen) submitted by /u/WrongAndBeligerent
...

Read full post
C++
This is a time to listen, not to talk, blelbach

The original post is below. It was locked then deleted because it was critical of creating a post then locking out all comments. I don't think that the comments were beyond the ability to be handled by user moderation, yet that is the justification for locking it, deleting it, and posting a moderator comment that can't be challenged. That was also the justification for preemptively locking out all comments on the first post. This is a discussion forum. If you don't want discussion, don't post. No one else gets the option to kill discussions with a flimsy rationalization. Forums that let moderators use their moderation to stop criticism of their moderation devolve quickly. Original post: ...

Read full post
C++
Analyzing RSS memory leak for a C++ application

I am currently looking into what seems like a memory leak with a multithreaded C++ 11 application. The weird part about this is that when I use Valgrind Massif or Heaptrack I do not see a leak in the heap. The heap memory stays at about 15 MB but what I am noticing is that when I continue to use the application, I see that the RSS memory keeps increasing. I have also analyzed the number of threads to see if there is a thread leak, but the total number of threads does remain constant ( though the application does create and join threads a bunch of times) Could someone give me pointers on how I can go about exploring this leak. I have used pmap to list out the pages and I do see few blocks marked as [anon] that are contributing for the increased RSS. But I am not sure how to ...

Read full post
C++
There is a need for more organized, open system with standard proposals

Once again there is a question "Does anyone know what is the status of XXX proposal?" posted on this subreddit. Myself, I had such a question about different proposals many times, and always found it hard to answer. The information seems to be all over the place - reddit posts, meeting reports, mailing lists... I think there is a dire need for system, where one can find all ongoing / closed proposals with their statuses, current revisions, and links to all the previous revisions. One could argue, that papers on https://www.open-std.org/ have all the information, but it is impossible to: - find the newest revision of given paper, - search for any particular paper, without knowing the year it was published, - filt...

Read full post
C++
Other than generators, what do coroutines solve better?

I posted to cpp_questions and got answers about what coroutines do: split a thread’s execution from its state. But I still don’t understand when they are the right tool. I wrote a chess engine. I have an alpha-beta pruned minimax tree. I don’t need a full list of child nodes (chess moves) at every depth (board), only a few up to an alpha-beta cutoff. Generators solve this problem elegantly. I’m struggling to come up with any other situations where coroutines are the right tool. When is polling, std::async, a thread-pool, a functor, or a thread-safe container a not a more performant or simple option? In other words, co_yield is great. But why co_await? submitted by /u/XiPingTing
...

Read full post
Standard C++ (Twitter)

More Convenience Functions for Containers with C++20--Rainer Grimm bit.ly/3nqY7ML #cpp
Standard C++ (Twitter)

std::format in C++20--Peter Gottschling bit.ly/33EbWjd #cpp
CppCon (Youtube)
Adventures in SIMD-Thinking (part 1 of 2) - Bob Steagall - CppCon 2020

https://cppcon.org/
https://github.com/CppCon/CppCon2020
---
SIMD capabilities are virtually ubiquitous in modern computing hardware, and yet much of that computing capacity often goes unused. This talk will provide a high-level overview of the SSE, AVX, and AVX-512 instruction set architecture provided by Intel microprocessors, and provide some specific examples of real-world problems where additional performance can be gained by thinking "vertically".

We'll begin with a quick, high-level description of the features provided by the SSE, AVX, and AVX-512 instruction sets. We'll then use C++ to compose a simple API employing various compiler intrinsics implementing those instruction sets. At the lowest level, the API will wrap some primitive operations, and then build some very useful ...

Read full post
CppCon (Youtube)
Adventures in SIMD-Thinking (part 2 of 2) - Bob Steagall - CppCon 2020

https://cppcon.org/
https://github.com/CppCon/CppCon2020
---
SIMD capabilities are virtually ubiquitous in modern computing hardware, and yet much of that computing capacity often goes unused. This talk will provide a high-level overview of the SSE, AVX, and AVX-512 instruction set architecture provided by Intel microprocessors, and provide some specific examples of real-world problems where additional performance can be gained by thinking "vertically".

We'll begin with a quick, high-level description of the features provided by the SSE, AVX, and AVX-512 instruction sets. We'll then use C++ to compose a simple API employing various compiler intrinsics implementing those instruction sets. At the lowest level, the API will wrap some primitive operations, and then build some very useful ...

Read full post
CppCon (Youtube)
Functional Error and Optional-value Handling with STX - Basit Ayantunde - CppCon 2020

https://cppcon.org/
https://github.com/CppCon/CppCon2020
---
Error-handling is arguably the most divergent part of C++. Many coding guidelines partially allow exceptions or totally ban it and this leads to many projects supporting multiple error-handling interfaces such as exceptions, the error-prone c-style error-handling, and/or custom error-handling types. This also leads many C++ developers to not use exceptions and instead roll their in-house error and optional-value handling facilities which are duplicated across the ecosystem.

This divergence has birthed numerous projects like boost.expected, boost.outcome, boost.leaf, tl::optional, tl::expected, and many others that have done a great job at addressing these issues.

This talk introduces STX; a C++ library that t...

Read full post
CppCon (Youtube)
Fuzzing Class Interfaces for Generating and Running Tests with libFuzzer - Barnabás Bágyi - CppCon

https://cppcon.org/
https://github.com/CppCon/CppCon2020
---
Although various frameworks support the writing of unit tests, creating a well designed effective unit test suite is still a non-trivial manual work. In this presentation we show how fuzzing can be used to automatically generate and run test cases based only on the class' interface.

Imagine you want test a container like the std::deque, essentially a vector of fix sized buffers with push/pop operations at both ends. You write tests for the empty container, then for push_back, but then how to continue? Write test for push_back then pop_back or push_back then pop_front and then push_front etc... We see that there is an explosion of the number of possible test cases with regarding all the interface o...

Read full post
CppCon (Youtube)
Introducing Microsoft’s New Open Source Fuzzing Platform - Michael Walker & Justin Campbell - CppCon

https://cppcon.org/
https://github.com/CppCon/CppCon2020
---
This native code security talk is a joint presentation by Principals from Windows Security (COSINE) and Microsoft Research. The work by Google and other contributors to the llvm ecosystem on libfuzzer, ASan, and sancov have “shifted left” the field of fuzz testing from the hands of hackers and security auditors directly to CI/CD developers. Rather than waiting for an auditing gate, developers should be able to receive fuzz testing results directly from their build system: quickly, cheaply, and reliably without false positives. To this end, Microsoft is adopting this testing paradigm via continuous cloud-based fuzzing of dedicated test binaries.

Microsoft is currently fuzzing Windows continuously...

Read full post