[jira] [Commented] (ARROW-6456) [C++] Possible to reduce object code generated in compute/kernels/take.cc?
[ https://issues.apache.org/jira/browse/ARROW-6456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17116202#comment-17116202 ] Wes McKinney commented on ARROW-6456: - I will take care of this. > [C++] Possible to reduce object code generated in compute/kernels/take.cc? > -- > > Key: ARROW-6456 > URL: https://issues.apache.org/jira/browse/ARROW-6456 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ >Reporter: Wes McKinney >Assignee: Wes McKinney >Priority: Major > > According to > https://gist.github.com/wesm/90f73d050a81cbff6772aea2203cdf93 > take.cc is our largest piece of object code in the codebase. This is a pretty > important function but I wonder if it's possible to make the implementation > "leaner" than it is currently to reduce generated code, without sacrificing > performance. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (ARROW-6456) [C++] Possible to reduce object code generated in compute/kernels/take.cc?
[ https://issues.apache.org/jira/browse/ARROW-6456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17014526#comment-17014526 ] Antoine Pitrou commented on ARROW-6456: --- The cause is quite simple: there's cartesian product of 8 index types * 31 data types which generates a lot of different specializations. > [C++] Possible to reduce object code generated in compute/kernels/take.cc? > -- > > Key: ARROW-6456 > URL: https://issues.apache.org/jira/browse/ARROW-6456 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ >Reporter: Wes McKinney >Priority: Major > Fix For: 0.16.0 > > > According to > https://gist.github.com/wesm/90f73d050a81cbff6772aea2203cdf93 > take.cc is our largest piece of object code in the codebase. This is a pretty > important function but I wonder if it's possible to make the implementation > "leaner" than it is currently to reduce generated code, without sacrificing > performance. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (ARROW-6456) [C++] Possible to reduce object code generated in compute/kernels/take.cc?
[ https://issues.apache.org/jira/browse/ARROW-6456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16931650#comment-16931650 ] Antoine Pitrou commented on ARROW-6456: --- Uh, take.cc is already very slow to compile so piling more compile / build time with LTO is not the best way to look at it IMHO. > [C++] Possible to reduce object code generated in compute/kernels/take.cc? > -- > > Key: ARROW-6456 > URL: https://issues.apache.org/jira/browse/ARROW-6456 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ >Reporter: Wes McKinney >Priority: Major > > According to > https://gist.github.com/wesm/90f73d050a81cbff6772aea2203cdf93 > take.cc is our largest piece of object code in the codebase. This is a pretty > important function but I wonder if it's possible to make the implementation > "leaner" than it is currently to reduce generated code, without sacrificing > performance. -- This message was sent by Atlassian Jira (v8.3.2#803003)
[jira] [Commented] (ARROW-6456) [C++] Possible to reduce object code generated in compute/kernels/take.cc?
[ https://issues.apache.org/jira/browse/ARROW-6456?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16923407#comment-16923407 ] Uwe L. Korn commented on ARROW-6456: We should investigate building with link time optimization. While improving performance, another great benefit of it is that it reduces binary size, especially in such cases where there is a lot of similar code like in this case. Drawback will be that link times will increase thus we should only add it to a single CI job but use it in release builds. > [C++] Possible to reduce object code generated in compute/kernels/take.cc? > -- > > Key: ARROW-6456 > URL: https://issues.apache.org/jira/browse/ARROW-6456 > Project: Apache Arrow > Issue Type: Improvement > Components: C++ >Reporter: Wes McKinney >Priority: Major > > According to > https://gist.github.com/wesm/90f73d050a81cbff6772aea2203cdf93 > take.cc is our largest piece of object code in the codebase. This is a pretty > important function but I wonder if it's possible to make the implementation > "leaner" than it is currently to reduce generated code, without sacrificing > performance. -- This message was sent by Atlassian Jira (v8.3.2#803003)