#!/usr/bin/python3 """Measure how expensive it is to fork() in Python. Contrast forkovh.c. """ import os import sys def main(args): if len(args) != 3: raise ValueError(f"Usage: {args[0]} 53 102400\n" "53: number of processes to fork\n" "102400: data size to allocate first\n") n = int(args[1]) s = int(args[2]) c = bytearray(s) # bytes() apparently doesn’t use RAM! for i in range(n): pid = os.fork() if pid == 0: os._exit(0) os.wait() if __name__ == '__main__': main(sys.argv)