Показано с 1 по 10 из 29

Тема: Создание скриптов на RGSS для людей со средними знаниями и экспертов

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    По умолчанию

    Добавил две основные главы и одну с сылками. Может однажды я закончу перевод
    Он конечно не идеальный, потому что тема довольно таки непростая, если кто-то грамотнее найдёт ошибки — пишите.

  2. #2
    Новичок Аватар для SCoon
    Информация о пользователе
    Регистрация
    24.12.2012
    Адрес
    Москва
    Сообщений
    5
    Записей в дневнике
    3
    Репутация: 1 Добавить или отнять репутацию

    По умолчанию

    Цитата Сообщение от Arnon Посмотреть сообщение
    Добавил две основные главы и одну с сылками. Может однажды я закончу перевод
    Он конечно не идеальный, потому что тема довольно таки непростая, если кто-то грамотнее найдёт ошибки — пишите.
    Проблем с переводом нет, есть проблемы с оригиналом. К сожалению, помимо здравых мыслей автор местами дает совершенно вздорные советы, а иногда просто фантазирует. Пример (цитата по оригиналу):

    One quoted strings are processed faster by the engine.
    Это фантазия. Пишем тест и получаем результат:

    Код:
    Double: 3.888000011444092
    Single: 3.9579999446868896
    Double: 3.822999954223633
    Single: 3.8399999141693115
    Double: 3.8470001220703125
    Single: 3.825000047683716
    Double: 3.822999954223633
    Single: 3.7880001068115234
    Double: 3.7909998893737793
    Single: 3.8519999980926514
    Double: 3.815999984741211
    Single: 3.8470001220703125
    Double: 3.822999954223633
    Single: 3.8259999752044678
    Double: 3.877000093460083
    Single: 3.944000005722046
    Double: 3.8610000610351562
    Single: 3.883999824523926
    Double: 3.811000108718872
    Single: 3.857999801635742
    Отчетливо видно, что в пределах точности измерений никаких отличий скорости обработки "одинарных" и "двойных" строк нет. Читаем там же далее:

    Don’t use variable embedding if you have just one value. You can just use value.to_s which will convert value into a string.
    Проверка на тесте дает неожиданный результат:

    Код:
    Inline: 10.55400013923645
    Concat: 10.940000057220459
    Inline: 10.526000022888184
    Concat: 10.924999952316284
    Inline: 10.430999994277954
    Concat: 11.036999940872192
    Inline: 10.292999982833862
    Concat: 10.919000148773193
    Inline: 10.253000020980835
    Concat: 10.759000062942505
    Inline: 10.325000047683716
    Concat: 10.876999855041504
    Inline: 10.312999963760376
    Concat: 10.963000059127808
    Inline: 10.270999908447266
    Concat: 10.88699984550476
    Inline: 10.283999919891357
    Concat: 10.791000127792358
    Inline: 10.242000102996826
    Concat: 10.792999982833862
    Т.е. вариант через #{} работает быстрее, чем ручной вызов to_s и конкатенация.

    Объясняется это тем, что ruby, вопреки заблуждениям автора, не интерпретатор. Перед исполнением кода выполняется весьма изощренная оптимизация. И конструкции вида "Foo#{i}" поддаются оптимизации лучше, чем "Foo"+i.to_s.

    Так что читать следует с осторожностью, верить не всему.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
Создание скриптов на RGSS для людей со средними знаниями и экспертов