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

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

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

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

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

Interesting Posts

Зашифруйте мой диск, но разрешите вводить пароль с SSH

RX и TX рассчитываются на различных промежуточных интерфейсах между двумя виртуальными машинами

Когда Gentoo выходит из мира, он начинается с самого начала. Зачем?

сохранение результата другой команды

Запуск приложения через SSH с помощью DISPLAY, когда пользователь не вошел в систему

Как установить настройки убийцы OOM для демонов навсегда?

Не удалось установить какой-либо пакет в Linux mint 17

как linux ядро ​​обрабатывает файловую систему Windows NTFS?

Что именно происходит, когда встроенная команда запускается в оболочке?

Как подключиться к Интернету с помощью `nmcli`?

Скрипт для почтовых ящиков курьера в среде CentOS LAMP

Изменение размера xterm заставляет оболочку испортить

Извлечь определенную подстроку из имени файла

Невозможно определить разрешения на доступ к файлам Samba по мере необходимости.

Копирование команд с помощью PuTTY и tmux

Linux и Unix - лучшая ОС в мире.