Попробуем взглянуть на вот такой код пошире. В прошлый раз мы ускорили часть этого метода в четыре раза, изменив вторую строчку следующим образом:
Дело в том, что это уменьшение, внезапно, производительность собственно метода увеличивает не так значительно.
Попробуем выжать ещё немного. Посмотрим, что делает метод iso8601:
По сути это strftime с кучей ненужных нам проверок. Можно вызвать strftime самим, убих двух зайцев сразу: выкосить ненужные проверки и избавиться от вызова tr!. Пробуем:
Ещё в полтора раза шустрее. Более чем двойное ускорение относительно оригинальной версии. Теперь запросы, которые используют этот метод, будут выполняться в среднем не 521.129ms, а 521.128ms. Ура!