Hi all,

I'm a bit concerned that we're planning to add many additional build
options in the quest to have a core zero-dependency build in C++.
See for example https://issues.apache.org/jira/browse/ARROW-6633 or
https://issues.apache.org/jira/browse/ARROW-6612.

The problem is that this is creating many possible configurations and we
will only be testing a tiny subset of them.  Inevitably, users will try
other option combinations and they'll fail building for some random
reason.  It will not be a very good user experience.

Another related issue is user perception when doing a default build.
For example https://issues.apache.org/jira/browse/ARROW-6638 proposes to
build with jemalloc disabled by default.  Inevitably, people will be
doing benchmarks with this (publicly or not) and they'll conclude Arrow
is not as performant as it claims to be.

Perhaps we should look for another approach instead?

For example we could have a single ARROW_BARE_CORE (whatever the name)
option that when enabled (not by default) builds the tiniest minimal
subset of Arrow.  It's more inflexible, but at least it's something that
we can reasonably test.

Regards

Antoine.

Reply via email to