2. By the time you arrive, I will have been cooking for three hours straight.
Ответ на вопрос начинается со смысловой части вопроса: By the time you arrive, I will have been cooking for three hours straight.