C++Guns – RoboBlog

22.06.2019

C++ Guns: 2019-06 pre-Cologne Paper - funny one

Filed under: Allgemein — Tags: — Thomas @ 08:06

P1770R0: On vectors, tensors, matrices, and hypermatrices - Wirklich jeder sollte diese kurze Präsentation einmal durchschauen. Ich habe den Eindruck, als hätte mindestens ein Mensch auf der Welt Ahnung von dem Thema. P1764R0: ssize Should be Named count - Kurz und kompakt P0631R7: Math Constants ENDLICH! P1768R0: Contiguous Containers Should Contain .data() - Ja P1751R0: […]

09.06.2019

C++ Guns: std::filesystem und std::regex

Filed under: Allgemein — Tags: — Thomas @ 07:06

Heute mache ich die ersten Versuche mit std::filesystem und std::regex. Der GCC 8.1 ist installiert. Die Doku liegt bereit. Es kann los gehen. std::filesystem Ich möchte bestimmte "Müll" Dateien im Projekt Verzeichnis auflisten und ihren Speicherplatzverbrauch summieren. Die Handhabung von std::filesystem ist wirklich erstaunlich einfach. Klar strukturiert. Es funktioniert. Etwas, dass böse Zungen von std::chrono […]

01.06.2019

C++Guns: RE: C++ Core Guidelines: std::array und std::vector sind die erste Wahl

Filed under: Allgemein — Tags: — Thomas @ 09:06

Ich finde es schade, dass der Artikel von Rainer Grimm bei heise.de C++ Core Guidelines: std::array und std::vector sind die erste Wahl so wenig Beachtung bekommt. Er wirft nicht nur ein paar interessante Fragen auf, sondern geht auf der Kernaussage von Performance ein: Don't think, use std::vector. Natürlich hat sich der C++ Gründervater Bjarne Stroustrup […]

10.05.2019

C++ Guns: play with threads and future

Filed under: Allgemein — Tags: — Thomas @ 13:05

Um schnell zu testen ob ein Rechner erreichbar ist, kann man ihn pingen. Der ping timeout dauert aber gern mal eine Sekunde. Wenn 10 Rechner nicht erreichbar sind, wartet man auch 10 Sekunden auf das Programm. Statt potentiell nur eine Sekunde. Die ping Anweisung kann man gut parallel ausführen. Zeit für std::async und std::future Hier […]

C++ Guns: C++20 class types in non-type template parameters

Filed under: Allgemein — Tags: — Thomas @ 12:05

Mit C++20 und GCC9 wir können als Template Parameter nun auch einfach eigenen Typen angeben. Ohne uns mit Workarounds herumschlagen zu müssen. Ein einfaches Beispiel sollte es verdeutlichen

01.05.2019

ACCU 2019 Videos

Filed under: Allgemein — Tags: — Thomas @ 19:05

very nice! So Zeug hab ich bei meiner BA gebracht Optimising a small real-world C++ application - Hubert Matthews [ACCU 2019] This is a hands-on demonstration of optimising a small real-world application written in C++. It shows how measurement tools such as strace, perf tools, valgrind and cachegrind on Linux can be used to find […]

14.03.2019

C++ Guns: floating point bit round - p0476r2 Bit-casting object representations

Filed under: Allgemein — Tags: — Thomas @ 10:03

C++20 Low-level code often seeks to interpret objects of one type as another: keep the same bits, but obtain an object of a different type. Doing so correctly is error-prone: using reinterpret_cast or union runs afoul of type-aliasing rules yet these are the intuitive solutions developers mistakenly turn to. Attuned developers use aligned_storage with memcpy, […]

06.03.2019

Profiler read/write miss Gedanken

Filed under: Allgemein — Tags: — Thomas @ 16:03

Profiler read/write miss Gedanken write miss: unterscheiden zwischen permanenten und temporäre Daten: Permanente Daten: wohl unausweichlich, denn die neuen Daten MÜSSEN ja vom Chache in den Hauptspeicher geschrieben werden. Temporäre Daten: eventuell vermeidbar, wenn man sie an einer späteren Stelle im Code erstellt. Wann immer Daten in den Cache geschrieben werden, fliegen andere Daten raus […]

02.03.2019

C++ Guns: A Sorted Data Type

Filed under: Allgemein — Tags: — Thomas @ 18:03

Mit dem C++ Typsystem ist es möglich Informationen und Algorithmen in das Programm zu codieren, die schon vor der Compilezeit fest stehen. Wie würdet ihr folgendes Problem lösen: Ein Algorithmus, zum Beispiel die binäre Suche, benötigt einen bereits sortieren Datensatz. Den Datensatz zu sortieren und danach die Suche anzuwenden ist trivial. Aber in einem anderen […]

22.02.2019

C++ Guns: rvalue referenz, forwarding referenz, universal referenz WTF?

Filed under: Allgemein — Tags: — Thomas @ 18:02

Die gute Nachricht: Normale Menschen müssen das alles nicht verstehen. Auch Anwendungs- Programmierer und library designer brauchen die Details nicht zu wissen. Ihr könnt meine Regeln durchlesen, daran halten und dann STOP. Die Details sind für Leute, die sich einem 1.5h Vortrag über && anhören können. Streng genommen wird der Begriff "universal referenz" nicht im […]

« Newer PostsOlder Posts »

Powered by WordPress