Из того, что я мог найти, getaliasbyname_r
использует что-то под названием Name Service Switch
, которое похоже на какую-то удаленную службу (немного похоже на DNS
).
Во-вторых, измеренное здесь время, по-видимому, не соответствует фактическому использованию процессора.
Так что я думаю, что getaliasbyname_r
просто ожидает ответа от какой-либо сетевой службы, и это отнимает много времени, а процессор фактически простаивает большую часть этого времени (последняя часть неверна в большинстве операционных систем). поскольку процессор просто позаботится о других задачах, но ваше приложение «застрянет» в getaliasbyname_r
до тех пор, пока не придет ответ от NSS
).