Intereting Posts

C на Linux: запуск 25 параллельных процессов значительно быстрее, чем запуск 24

Моя C-программа использует fork () для создания новых процессов, и я измеряю время, необходимое для выполнения каждого из этих процессов. Фактически, я позволяю им делать работу 10000 раз и измерять это время.

Измерения выполняются с помощью gettimeofday (…), и результаты печатаются после каждого процесса, если они завершены.

К этому моменту: запустив 24 параллельных процесса, эти времена центрируются примерно на 180 000 мксек. Но когда я увеличиваю до 25 процессов, время падает и составляет около 100 000 usec. Это что-то конкретное Linux? Что, создавая больше процессов, я получаю больше ресурсов от ОС?

Или это совершенно невозможно, и я неправильно измеряю время? Следует отметить, что измерения возрастают для 1-> 24 процессов и капель на 25-м.