Build machines boasting - Printable Version +- Cuberite Forum (https://forum.cuberite.org) +-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html) +--- Forum: Development (https://forum.cuberite.org/forum-13.html) +--- Thread: Build machines boasting (/thread-3262.html) |
Build machines boasting - xoft - 01-12-2020 I'd like people to contribute to this thread, telling us what their machine's specs are and how long it takes to build Cuberite on that machine (from scratch), plus what compiler they use. In the end, it might be a good benchmark for deciding what kind of hardware to get for upgrades (there are not too many compilation-related benchmarks in the real world). The results are in this Google Sheets document: https://docs.google.com/spreadsheets/d/1FmIrKMoo_Ksy5_VdFRnZ0BhAhU4QOVZcu06fdGQiGwI/edit?usp=sharing On Windows, use this script to measure the time (attached as timed_run.zip): @echo off echo Started: %time% > time.log echo Cloning from git... mkdir Cuberite cd Cuberite git clone --recurse-submodules https://github.com/cuberite/cuberite . if errorlevel 1 goto Error echo Cloned: %time% >> ..\time.log echo Running CMake... mkdir VS cd VS cmake -DBUILD_TOOLS=1 -DSELF_TEST=1 .. if errorlevel 1 goto Error echo CMaked: %time% >> ..\..\time.log echo Building... cmake --build . if errorlevel 1 goto Error cd ..\.. echo Built: %time% >> time.log echo All done successfully goto Finished :Error echo An error occurred, timings are invalid :Finished On Linux, try this script (courtesy of @paradise from Discord and @Mathias; attached as measure_time.zip): #!/usr/bin/env bash echo "Started: `date +%H:%M:%S`" > time.log echo "Cloning from git..." mkdir Cuberite cd Cuberite git clone --recurse-submodules https://github.com/cuberite/cuberite . || (echo 'An error occurred, timings are invalid' && exit 1) echo "Cloned: `date +%H:%M:%S`" >> ../time.log echo "Running CMake..." mkdir VS cd VS cmake -DBUILD_TOOLS=1 -DSELF_TEST=1 .. || (echo 'An error occurred, timings are invalid' && exit 1) echo "CMaked: `date +%H:%M:%S`" >> ../../time.log echo "Building..." MAKEFLAGS="" cmake --build . -j $(nproc) || (echo 'An error occurred, timings are invalid' && exit 1) cd ../.. echo "Built: `date +%H:%M:%S`" >> time.log echo "All done successfully" RE: Build machines boasting - xoft - 01-12-2020 (desktop) AMD Ryzen7 2700 @ 3.2 GHz, DDR4 RAM 16 GiB @ 3200 MHz, CL14-14-14-28-42, Samsung 840Pro SATA SSD; Win8.1; MSVC 2017 CMake time: 01:52 Build time: 01:47 (desktop) Intel Core 2 Quad Q8300 @ 2.5 GHz, DDR3 RAM 8 GiB, Samsung 830Pro SATA SSD; Ubuntu 16.04 LTS; clang 3.8 (?) CMake time: 00:24 Build time: 07:56 (laptop) Intel Mobile Core 2 Duo T9300 @ 2.5 GHz, DDR2 RAM 8 GiB @ 666 MHz, CL5-5-5-15, Samsung 830Pro SATA SSD; Win7; MSVC 2017 CMake time: 03:35 Build time: 10:39 RE: Build machines boasting - Greaper88 - 01-12-2020 Intel Core i7 9750H @2.6 GHz (3.9Ghz Turbo in performance mode), 16 GB DDR4 @2667 MHz, 19-19-19-43-61 ; Windows 10: MSVC 2019 firrst build: Samsung 1TB NVMe SSD; CMake time: 03:35 Build time: 1:55 second build: PNY 2TB NVMe SSD CMake time: 03:37 Build time: 01:55 third build: Western Digital 2TB M.2 SATA SSD CMake time: 03:34 Build time: 01:57 (Yes this laptop has three SSDs in it) Fourth build: Same compiler as Laptop CPU: Intel Xeon E3-1280v6, dual-threaded quad core, @ 3.9GHz (4.1 GHz Turbo) RAM: G.Skill Aegis 64GB DDR4 @ 2400 15-15-15-35-50(only about 4GB used for building as a rough estimate from windows gadget meter) Storage: 2x 512GB Intel 660p NVMe SSD Windows 7 CMake time: 01:33 Build time: 01:47 RE: Build machines boasting - xoft - 01-12-2020 Dang, the forum doesn't seem to be able to make tables There goes my summary. RE: Build machines boasting - Mathias - 01-13-2020 (laptop) AMD Ryzen 5 3500U @ 2.1 GHz; DDR4 RAM 8 GB @ 2400 MHz; SAMSUNG MZVLB256HAHQ-000L2 SSD 256GB; Windows 10; MSVC 2019 CMake time: 4:51 Build time: 3:07 RE: Build machines boasting - Seadragon91 - 01-14-2020 (desktop)AMD Ryzen 7 3700X 8-Core (16 Threads), 3.6 GHz; 16 GiB RAM; Win10 MSVC 2019: CMake: 1m 35s Built: 1m 17s (WSL-debian)GCC/G++-8.3: CMaked: 36s Built: 1m 18s Corrected the linux shell script:
Code: #!/usr/bin/env bash RE: Build machines boasting - xoft - 01-15-2020 When using -j with cmake --build, I get way too many clang++ processes (tens of them, on my 4-core system), which end up contending for RAM, rather than CPU. The compilation time is worse then, and sometimes it even fails. RE: Build machines boasting - xoft - 01-15-2020 Found out why. I have MAKEFLAGS="-j8" in my .profile , so any "make" invokation causes multiplied builds. Fixing the script to account for that... RE: Build machines boasting - xoft - 01-15-2020 I've compiled the results into a Google docs sheet. Keep the results coming Also, those already present, please try to provide the items missing in the report. |