Frage

Warum ist das Mapping / Reduktion mit Reducer-Bibliothek schlechter als normale Karte / Reduzierung?

generasacodicetagpre.

Ich hatte zwei Töte die späteren zwei Töte, da es unbestimmte Zeit dauert.Was ist hier falsch?

edit: Es scheint, als ob andere Sprachen auch ähnliche Probleme haben.Scala scheint nur mit einer Million zu brechen. Warum verursachen Scala-Parallelkollektionen manchmal einen OutofMemoryError? .Während Clojur-Reduktierer schneller als normal sind als normal.

War es hilfreich?

Lösung

Um die Antwort von @ a-webb zu ergänzen, ist dies ein Compiler-Fehler und ein Beteiligungsmittel, das wirklich fixiert ist.( Siehe diesen Beitrag für weitere Details.)

Eine andere Möglichkeit, um das Problem zu umgehen, besteht darin, eine -sicherung :

zu verwenden generasacodicetagpre.

und dann:

generasacodicetagpre.

Andere Tipps

Die Leistung ist Schleifen an einem Angehalten, da Erinnerung erschöpft ist.Wenn Sie weiter warten, würden Sie höchstwahrscheinlich auf einen Speicherfehler stoßen.Der Erstellen eines Reduzierers hält den Kopf der Sammlung in einem Schließung.Somit verbindet die riesige Lazy-Sequenz den Speicher, wie es realisiert wird.

Hier ist das, was passiert, destilliert

generasacodicetagpre.

jetzt das gleiche, aber aus einem Verschluss

generasacodicetagpre.

Vergleichen Sie mit

generasacodicetagpre.

der verdächtige Verschluss in Reduktoren

generasacodicetagpre.

Christophe Grand hat ein Nizza Post , wie man auf faule Mode umgesetzt werden kann.

Reduktoren funktionieren nicht wirklich gut mit faulen Listen, während normale Verringerung tut.

Um den eigentlichen Nutzen aus den Reduzierern zu erhalten, benötigen Sie eine nicht faule Sammlung, z.ein Vektor und Sie müssen die Falte anstelle von Reduzieren verwenden.

generasacodicetagpre.

Reduzierer arbeiten mit dem Gabel- / Join-Framework, das große Datenbrocken erfordert.In einer faulen (chunkierten) Sequenz haben Sie diese großen Brocken nicht, also kann Gabel / Join nicht gut funktionieren.

Es gibt ein Gespräch von Rich Hickey auf Reduktoren, die die Konzepte wirklich gut erklären: https://vimeo.com/45561411

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top