From 602b34ab914da7830d632ca8079ebffc3bd608f0 Mon Sep 17 00:00:00 2001 From: Sam O Date: Wed, 29 Nov 2017 11:12:49 -0800 Subject: [PATCH] Fix performance of c_array in python core.py (#2786) --- python-package/xgboost/core.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/python-package/xgboost/core.py b/python-package/xgboost/core.py index 66d470648..8acd3ef89 100644 --- a/python-package/xgboost/core.py +++ b/python-package/xgboost/core.py @@ -159,6 +159,8 @@ def c_str(string): def c_array(ctype, values): """Convert a python string to c array.""" + if isinstance(values, np.ndarray) and values.dtype.itemsize == ctypes.sizeof(ctype): + return (ctype * len(values)).from_buffer_copy(values) return (ctype * len(values))(*values)