C no Linux: Executar 25 processos paralelos é significativamente mais rápido que executar 24 [fechado]

3

Meu programa C usa fork () para criar novos processos e eu meço o tempo que leva para cada um desses processos fazer seu trabalho. De fato, deixo que façam o trabalho 10000 vezes e meçam o tempo.

As medições são feitas por gettimeofday (...) e os resultados são impressos após cada processo, se concluído.

Para o ponto: Ao executar 24 processos paralelos, esses tempos estão centrados em torno de 180.000 usec. Mas quando eu aumento para 25 processos, o tempo cai e centra-se em torno de 100.000 usec. Isso é algo específico do Linux? Que, ao criar mais processos, recebo mais recursos do SO?

Ou é completamente impossível e estou medindo o tempo errado? Deve-se notar que as medições estão aumentando para 1 a 24 processos e cai no dia 25.

    
por ollehu 01.12.2016 / 17:05

0 respostas

Tags