Não. As comutadores de processo / contexto não são gratuitas.
O quanto outros processos em execução retardam o seu tempo é muito dependente do sistema, mas consiste em coisas como:
-
Sempre que um processador alterna para um espaço de endereçamento diferente (incluindo processo), o cache da MMU deve ser liberado. E provavelmente o processador L1 armazena em cache. E talvez os caches L2 e L3. Isso diminuirá o acesso à memória logo após o processo ser retomado (e isso conta contra o tempo do "usuário").
-
Em uma caixa SMP (ou multi-core), se dois processos estiverem tentando acessar as mesmas partes da RAM (física), os processadores devem cooperar. Isso leva tempo. Geralmente é feito em um nível de arquitetura, abaixo do sistema operacional. Isso contará com o tempo do usuário ou do sistema, dependendo de quando for atingido.
-
O bloqueio rápido do kernel (que na verdade não agende outro processo) contará contra o tempo do seu sistema. Isso é semelhante ao ponto acima.
-
nas caixas NUMA, você pode ser movido para um nó diferente. O acesso à memória agora pode ser de domínio cruzado e, portanto, mais lento
-
outros processos podem influenciar as decisões de gerenciamento de energia. Por exemplo, a vinculação de mais núcleos reduzirá as velocidades do Intel Turbo Boost, para manter o pacote do processador dentro de sua linha elétrica & especificações térmicas. Mesmo sem turbo, o processador pode ficar lento devido ao excesso de calor. Ele pode funcionar de outra forma também - mais carga pode fazer com que o regulador de velocidade da CPU aumente a velocidade da CPU.
Existem outros recursos compartilhados em um sistema; Se esperar por eles realmente não envolver o seu processo em suspensão, ele será contado contra o usuário ou horário do sistema.