Articles of perezosa evaluación

Transformación Spark – ¿Por qué es flojo y cuál es la ventaja?

Spark Transformations se evalúan de forma lazy : cuando llamamos a la acción, ejecuta todas las transformaciones basadas en el gráfico de linaje. ¿Cuál es la ventaja de evaluar Transformations Lazy? ¿Mejorará el performance y se comparará una menor cantidad de memory consumption de memory consumption con una evaluación entusiasta? ¿Hay alguna desventaja de que […]

Cómo convertir secuencias perezosas a no perezosas en Clojure

Intenté lo siguiente en Clojure, esperando tener la clase de una secuencia no lenta devuelta: (.getClass (doall (take 3 (repeatedly rand)))) Sin embargo, esto todavía devuelve clojure.lang.LazySeq . Mi suposición es que doall no evalúa la secuencia completa, pero devuelve la secuencia original, ya que aún es útil para la memorización. Entonces, ¿cuál es el […]

¿Por qué la evaluación perezosa es útil?

Me he estado preguntando por qué la evaluación perezosa es útil. Todavía tengo que pedirle a alguien que me explique de una manera que tenga sentido; sobre todo, termina hirviendo para “confiar en mí”. Nota: no me refiero a la memorización.

Referencias a futuro: ¿por qué comstack este código?

Considera este fragmento: object A { val b = c val c = “foo” } println( Ab ) // prints “null” Como parte de un progtwig más grande, esto llevaría a una falla en el tiempo de ejecución. El comstackdor aparentemente permite la referencia directa de ‘b’ a (sin inicializar) ‘c’, pero ‘b’ se queda […]

¿Qué hace un vago val?

Noté que Scala proporciona lazy vals . Pero no entiendo lo que hacen. scala> val x = 15 x: Int = 15 scala> lazy val y = 13 y: Int = scala> x res0: Int = 15 scala> y res1: Int = 13 El REPL muestra que y es un valor lazy val , pero […]

Extraiga una columna dplyr tbl como vector

¿Hay una forma más concisa de obtener una columna de un dplyr tbl como un vector, desde un tbl con el back-end de la base de datos (es decir, el dataframe / tabla no puede ser un subconjunto directamente)? require(dplyr) db <- src_sqlite(tempfile(), create = TRUE) iris2 <- copy_to(db, iris) iris2$Species # NULL Eso hubiera […]

Explicar una peculiaridad de evaluación perezosa

Estoy leyendo el libro de Hadith Wickhams sobre Github, en particular esta parte sobre evaluación perezosa . Ahí da un ejemplo de las consecuencias de la evaluación perezosa, en la parte con funciones add/adders . Permítanme citar ese bit: Esta [evaluación diferida] es importante cuando se crean cierres con lapply o un bucle: add <- […]