-
Notifications
You must be signed in to change notification settings - Fork 3.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[C++] [Docs] Indicate memory required for installation #18849
Comments
Antoine Pitrou / @pitrou: Can you clarify what you would like the docs to say concretely? |
Benson Muite / @bkmgit: "A minimal build requires about 4GB of RAM to compile the libraries." to building.rst under 'Building Requires' section of System setup. |
Antoine Pitrou / @pitrou: |
Benson Muite / @bkmgit:
|
Antoine Pitrou / @pitrou: |
Benson Muite / @bkmgit: |
Antoine Pitrou / @pitrou: |
Antoine Pitrou / @pitrou: |
Benson Muite / @bkmgit: |
Benson Muite / @bkmgit:
|
Benson Muite / @bkmgit: |
Antoine Pitrou / @pitrou: |
Weston Pace / @westonpace: |
Benson Muite / @bkmgit: The requirement is not meant to be very precise, more a suggestion as to what to expect. It is possible to add memory use monitoring to the CI builds, though again this would need maintenance. We want someone installing Arrow (at least the debug build as virtual machines with less than 1Gb are rare) to know that if the build is proceeding very slowly and they have limited RAM, swapping from RAM is the likely reason for the slow build. |
I may be misunderstanding still but I think the discussion is about building and not running. I absolutely agree that Arrow should be able to run with minimal memory and that might be worth defining a limit for.
I believe R always compiles the bindings but it shouldn't compile arrow-cpp if the package is already present. For example, if the user has already installed the CentOS8 Arrow package from the EPEL. The one exception might be golang (statically compiles everything) but it has pretty strong cross compilation support.
What if we just add a generic statement: Arrow C++ is a complex project that needs to handle many different data types, vectorization architectures, and compiler differences. Building Arrow C++ requires a considerable amount of CPU and RAM. When installing Arrow on a system with limited resources we recommend compiling the binaries on a capable build machine or downloading prebuilt binaries from package managers. If you want to replace "considerable amount of CPU and RAM" with "potentially more than 4GB of RAM" (or insert your number here) I wouldn't really be opposed. I think my concern would be more with a phrase like "at most 4GB of RAM" because we have no way of reliably backing that up other than "On these build machines with these configurations it took less than 4GB" and that isn't really the same thing. |
Benson Muite / @bkmgit: For most users, downloading prebuilt binaries from package managers should be sufficient. Prebuilt binaries are available at: list of repositories with hyperlinks Arrow C++ is a complex project that can handle many different data types, vectorization architectures, and compiler differences, the prebuilt binaries may not fit your use, in which case see the developer documentation for instructions on how to compile Arrow from source. For developers, possibly the following is enough to add to the C++ and Python pages: Arrow C++ is a complex project that needs to handle many different data types, vectorization architectures, and compiler differences. Most configurations of Arrow C++ will build with 4 Gb of RAM on a single core CPU. If you need to build Arrow for use on a system with limited resources that does not have prebuilt binaries, we recommend compiling the binaries on a more capable build machine.
|
Jonathan Keane / @jonkeane: |
Would be helpful to add typical memory required for installation. A single core is sufficient for processing power, monitoring with SAR indicates that about 3 Gb of RAM are needed for debug build and 1Gb of RAM for release build.
Reporter: Benson Muite / @bkmgit
Assignee: Benson Muite / @bkmgit
PRs and other links:
Note: This issue was originally created as ARROW-14039. Please see the migration documentation for further details.
The text was updated successfully, but these errors were encountered: