aboutsummaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorCheng Hao <hao.cheng@intel.com>2014-05-07 16:54:58 -0400
committerReynold Xin <rxin@apache.org>2014-05-07 16:54:58 -0400
commitca43186867f0120c29d1b27cfee0c7ff4a107d84 (patch)
treece57c1c8fd11b82066df452899f23400c3d229c7 /sql
parent3308722ca03f2bfa792e9a2cff9c894b967983d9 (diff)
downloadspark-ca43186867f0120c29d1b27cfee0c7ff4a107d84.tar.gz
spark-ca43186867f0120c29d1b27cfee0c7ff4a107d84.tar.bz2
spark-ca43186867f0120c29d1b27cfee0c7ff4a107d84.zip
[SQL] Fix Performance Issue in data type casting
Using lazy val object instead of function in the class Cast, which improved the performance nearly by 2X in my local micro-benchmark. Author: Cheng Hao <hao.cheng@intel.com> Closes #679 from chenghao-intel/fix_type_casting and squashes the following commits: 71b0902 [Cheng Hao] using lazy val object instead of function for data type casting
Diffstat (limited to 'sql')
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
index 40d2b42a0c..0b3a4e728e 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/expressions/Cast.scala
@@ -182,7 +182,7 @@ case class Cast(child: Expression, dataType: DataType) extends UnaryExpression {
case x: NumericType => b => x.numeric.asInstanceOf[Numeric[Any]].toFloat(b)
}
- def cast: Any => Any = dataType match {
+ private lazy val cast: Any => Any = dataType match {
case StringType => castToString
case BinaryType => castToBinary
case DecimalType => castToDecimal