просыпаются и выполняют свою работу. какой минимальный интервал sleep() будет разумным, чтобы не оказалось что эти файберы отбирают впустую ресурсы у других?
это ж напрямую зависит от работы, которую они выполняют. если это подсчет записей в спейсе - то может сильно потянуть в любом случае миллион yields тянет примерно на 2сек: local fiber=require('fiber') local clock=require('clock') function test() local start = clock.realtime() for i = 1,1e6 do fiber.yield() end print(clock.realtime() - start) end local f = fiber.create(test) f:set_joinable(true) fiber.join(f) os.exit() $ tarantool test.lua 1.6286141872406
видимо это дебаг билд или очень медленная машина
Обсуждают сегодня