Der Zeitgeber

Ein Zeitgeber besteht aus einem Startpunkt und einem Zeittakt. C++ hat mit std::chrono::system_clock, std::chrono::steady_clock und std::chrono::high_resolution_clock drei Zeitgeber im Angebot.

Weiterlesen...
Tags: time
Gelesen: 15215

Die Zeitdauer

Eine Zeitdauer ist die Differenz zwischen zwei Zeitpunkten. Sie wird in der Anzahl von Zeittakten angegeben.

Weiterlesen...
Gelesen: 17068

Der Zeitpunkt

Der Zeitpunkt wird durch seinen Startpunkt, die sogenannte Epoche und die darauf bezogenen Zeitdauer festgelegt. Dabei enthält ein Zeitpunkt einen Zeitgeber(Clock) und eine Zeitdauer (Duration).

Weiterlesen...
Tags: time
Gelesen: 14553

Die Zeitbibliothek

Ein Blog, der sich mit den Multithreadingfähigkeiten von modernem C++ beschäftigt und nicht auf die Zeitbibliothek eingeht, ist nicht vollständig. Insbesondere, wenn ich in den letzten Artikeln öfters mit Hilfe der Zeitbibliothek die Performanz von kleinen Codeabschnitten gemessen habe. Daher gebe ich in diesem Artikel einen Überblick über die Zeitkomponenten Zeitpunkt, Zeitdauer und Zeitgeber. Jeder der drei Komponenten werde ich mir dann in weiteren Artikeln noch genauer anschauen.

Weiterlesen...
Tags: time
Gelesen: 9468

Mein Fazit: Addition in drei verschiedenen Varianten

Nachdem ich in den letzten drei Artikel die Summe eines Vektors in drei verschiedenen Strategien berechnet habe, möchte ich mit diesem Artikel mein Fazit ziehen.

Weiterlesen...
Tags: Tasks
Gelesen: 15411

Multithreaded: Addition mit minimaler Synchronisation

Zwei Strategien bin ich bisher bei meiner Addition aller Elemente eines std::vector gefolgt. Zum einen habe ich die ganze Summation in einem Thread ausgeführt (Single-Threaded: Summe der Elemente eines Vektors), zum anderen alle Threads auf einer gemeinsamen Summations-Variable (Multithreaded: Addition mit einer geteilten Variable) agieren lassen. Gerade die zweite Strategie war sehr naiv. In diesem Artikel werde ich meine Erkenntnisse aus beiden Artikeln anwenden. Mein Ziel wird es daher sein, die Threads möglichst unabhängig ihre Arbeit ausführen zu lassen und die Synchronisation der Threads auf der Summations-Variable zu minimieren.

Weiterlesen...
Gelesen: 11934

Multithreaded: Addition mit einer geteilten Variable

Ziel dieses Artikels ist es, die Summe aller Elemente eines Vektors zu bilden. Habe ich es im letzten Artikel mit einem Thread versucht, nütze ich dieses mal die volle Power meiner PCs. Ich verwende eine gemeinsame Summen-Variable, die von allen Threads gleichzeitig benutzt wird. Was bei ersten Hinsehen wie eine gute Idee klingt, ist bei genauerem Blick eine sehr naive Strategie. Überwiegt der Aufwand für die Synchronisation der Summen-Variable deutlich den Performanzvorteil der vier bzw. zwei CPUs.

Weiterlesen...
Gelesen: 13991

Single-Threaded: Summe der Elemente eines Vektors

Wie lassen sich die Werte eines std::vector am schnellsten zusammenaddieren? Diese Frage will ich in mehreren Artikeln nachgehen. Als Referenzwert soll dabei die Addition in einem Thread dienen. In weiteren Artikel gehe ich auf atomare Variablen, Locks, Tasks und threadlokale Daten ein.

Weiterlesen...
Gelesen: 15428

Singleton - To use or not to use

Ich hätte nie gedacht, dass ich mit meinem letzten Artikel zum Threadsicheres Initialisieren eines Singleton soviel Emotion wecken würde. Daher will ich diesen Artikel nützen, die Emotionen zusammenzufassen.

Weiterlesen...
Tags: Singleton
Gelesen: 12479

Mentoring

Stay Informed about my Mentoring

 

Rezensionen

Tutorial

Besucher

Heute 1582

Gestern 1427

Woche 5585

Monat 21527

Insgesamt 3320439

Aktuell sind 25 Gäste und keine Mitglieder online

Kubik-Rubik Joomla! Extensions

Abonniere den Newsletter (+ pdf Päckchen)

Beiträge-Archiv

Sourcecode

Neuste Kommentare