Instead of lengthy blurbs, switch to single-line, machine-readable standardized (https://spdx.dev) license identifiers. The Linux kernel switched long ago, so there is strong precedent. Three cases are handled: AGPL-only, Apache-only, and dual licensed. For the latter case, I chose (AGPL-3.0-or-later and Apache-2.0), reasoning that our changes are extensive enough to apply our license. The changes we applied mechanically with a script, except to licenses/README.md. Closes #9937
30 lines
678 B
Python
Executable File
30 lines
678 B
Python
Executable File
#!/usr/bin/env python3
|
|
# -*- coding: utf-8 -*-
|
|
#
|
|
# Copyright (C) 2018-present ScyllaDB
|
|
#
|
|
|
|
#
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
#
|
|
|
|
# Guess and print out a good number of compiler jobs to
|
|
# run. Note that on an interactive desktop you will want
|
|
# to reduce this to allow more memory for your desktop,
|
|
# to avoid swapping. This is oriented at continuous
|
|
# integration machines that do not serve an interactive
|
|
# load as well.
|
|
|
|
import os
|
|
|
|
procs = os.sysconf('SC_NPROCESSORS_ONLN')
|
|
mem = os.sysconf('SC_PHYS_PAGES') * os.sysconf('SC_PAGESIZE')
|
|
|
|
mem_reserve = 1000000000
|
|
job_mem = 4000000000
|
|
|
|
jobs = min(procs, (mem-mem_reserve) // job_mem)
|
|
jobs = max(jobs, 1)
|
|
|
|
print(jobs)
|