You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@arrow.apache.org by "Uwe L. Korn (JIRA)" <ji...@apache.org> on 2016/12/19 16:07:59 UTC

[jira] [Commented] (ARROW-428) [Python] Deserialize from Arrow record batches to pandas in parallel using a thread pool

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

Uwe L. Korn commented on ARROW-428:
-----------------------------------

In my local performance benchmarks, the most expensive thing for a single Table -> DataFrame conversion was the construction of the DataFrame from NumPy arrays where the BlockManager filled the underlying blocks using {{memmove}} from the NumPy arrays. There it would be helpful to pre-allocate an empty DataFrame. But if/how this may work is outside of my knowledge of the Pandas' internals. Multiple threads for the {{arrow::Column}} -> {{pandas.Series/numpy.ndarray}} will still be of benefit.

Also, it is quite common to adhere to the environment variable {{OMP_NUM_THREADS}} for the number of used CPUs. If not this variable explicitly, we want to at least provide a way to limit the currency.

> [Python] Deserialize from Arrow record batches to pandas in parallel using a thread pool
> ----------------------------------------------------------------------------------------
>
>                 Key: ARROW-428
>                 URL: https://issues.apache.org/jira/browse/ARROW-428
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: C++
>            Reporter: Wes McKinney
>
> By default {{to_pandas}} can use {{multiprocessing.cpu_count()}} to select a number of threads. 



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