Сообщение от
VVWVV
Как минимум, данную команду можно сделать более производительнее, но если говорить о данных вариантах, то в первом будет всегда вызываться новый массив (listitems), а после выполнения будет уничтожаться (хотя, можно было сделать с помощью static. Для того, чтобы данный массив заносился в сегмент с памятью). Использование цикла с функцией format (во втором варианте) — очень трагично (в идеале, можно было сделать отправку аргументов с помощью ассемблера, но это также трагично, ибо делать это не так уж просто). Если массив используется меньше двух раз, например, один, то его следует занести в блок с данной функцией (хотя, можно этого не делать).
В обоих вариантах нет подсчёта форматируемой строки, т.е. берутся какие-то магические цифры (именно из-за них могут быть проблемы).
Информация для ТС: Всю статическую информацию можно упаковывать.
P.S.: пользователь, которые дал вам такую «оптимизированную» функцию — сам ничего не смыслит в программировании, ибо это не оптимизация (хотя, в кругу г-и его код сочтут за оптимизацию, что и отличает данный сайт от Pro-Pawn.Ru).