Ei kuvausta
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ANSWERS.md 1.5KB

Proof of Work 2.0

1. Wie ist die Ausgabe von time zu interpretieren, wenn mehrere Threads laufen?

Die user-time ist immer deutlich höher als die real-time. Das heißt, dass die Threads nicht nebenläufig, sondern parallel laufen.

2. Welche unterschiedlichen Ergebnisse erhalten Sie bei der Option timings? Wie stehen diese im Zusammenhang mit den Ergebnissen von time?

Die Option timings variiert stark von den Ergebnissen von time. Das unix-Kommando time bezieht die Ausführungszeit des gesamten Codes mt ein. Also auch Aufrufe von sys-info oder zum Beispiel das Parsen der Argumente, welches clap durchführt.

3. Welche quantitativen Auswirkungen hat die Synchronisierung (Warum)? Welche Auswirkungen haben Ihre zusätzlichen Parameter?

4. Wie variieren -s und -w die Messungen?

Mit -s und -v:

  Sum Loops in Producers:       66106870
  Sum Duration in Producers:    25s / 25160ms / 25160747us

Ohne -s und -v:

Wartet der Consumer bis jeder Thread eine Solution gefunden hat. Dies ist sehr deutlich an den Loop-anzahl und der Zeit erkennbar.

  Sum Loops in Producers:       147581082
  Sum Duration in Producers:    37s / 37244ms / 37244327us

5. Welche sonstigen Arten der Synchronisierung bieten sich für die Problemstellung “Lösung gefunden (-s)” an? Was sind deren Vor- und Nachteile gegenüber Ihrer gewählten Lösung?

Man könnte anstatt dem Arc und dem AtomicBool im Consumer aktiv alle Threads töten, sobald eine Lösung gefunden wurde.