[ 
https://issues.apache.org/jira/browse/SPARK-14850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15254538#comment-15254538
 ] 

Xiangrui Meng commented on SPARK-14850:
---------------------------------------

Ran the following code with different Spark versions:

{code}
sc.parallelize(0 until 1e4.toInt, 1).map { i =>
  (i, Vectors.dense(Array.fill(1e6.toInt)(1.0)))
}.toDF.rdd.count()
{code}

Durations:
* 1.4.1: 22s
* 1.5.2: 282s
* 1.6.0: 360s
* 1.6.1: 340s

So it is about 15x slow down on serialization.

> VectorUDT/MatrixUDT should take primitive arrays without boxing
> ---------------------------------------------------------------
>
>                 Key: SPARK-14850
>                 URL: https://issues.apache.org/jira/browse/SPARK-14850
>             Project: Spark
>          Issue Type: Improvement
>          Components: ML, SQL
>    Affects Versions: 1.6.1, 2.0.0
>            Reporter: Xiangrui Meng
>            Priority: Critical
>
> In SPARK-9390, we switched to use GenericArrayData to store indices and 
> values in vector/matrix UDTs. However, GenericArrayData is not specialized 
> for primitive types. This might hurt MLlib performance badly. We should 
> consider either specialize GenericArrayData or use a different container.
> cc: [~cloud_fan] [~yhuai]



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to