Skip to content

Klammerfehler in Faktorisierungs-Multiprocessing/-threading Tutorial #3

@demling

Description

@demling

chunks = int(math.ceil(len(numbers)) / processes)

Die Klammern sind hier falsch gesetzt: es wird nicht das Ergebnis der Division aufgerundet, sondern die Länge der Liste und danach wird dividiert.
Die Zeile müsste chunks = int(math.ceil(len(numbers) / processes)) lauten, analog wie in der mt_factor Funktion. Ansonsten werden Rechnungen unterschlagen wenn die Anzahl der Berechnungen sich nicht glatt mit der Anzahl der Prozesse teilen lässt. Lässt sich schön demonstrieren indem man in der main die Länge des res-Dict ausgeben lässt und die Anzahl der zu faktorisierenden Zahlen auf z.B. ne Primzahl setzt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions