Войти на сайт

Авторизация, ждите ...
×

ТЕМА: Оптимизация и скорость

Оптимизация и скорость 14 года 9 мес. назад #30768

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
Исследование скорости RGSS
Состояние: Временно остановленно
Причина: Отсутствуют помошники, не актуальность темы на данном уровне развития

Вечный вопрос что лучше: краткость кода или скорость его работы или читабельность.

В эру высоких технологий, когда все операции на компьютере проходят за миллисекунды. мы не задумываемся о скорости выполнения кода, а зря. Наш код порой представляет собой кучу неразборчивых процедур, циклов, рекурсий, джампов и прочего. Через некоторое время мы и сами забываем за что отвечает та или иная процедура. И через некоторое время мы начинаем замечать что наш код начитает выполнятся долго. Тут то и возникает вопрос об оптимизации.

Предлагаю обсудить методы оптимизации наших скриптов, а так же скорость выполнения и потребление оперативной памяти различных функций.



Чтобы не быть голословным представляю вам на суд мои тесты некоторых операторов

for i in 1...10_000_000
end
1.203с
(1..10_000_000).each {}
0.969с
for i in 1...10_000_000
  u=1
end
2.516с
(1..10_000_000).each {|i| u=1}
4.094с
(1..10_000_000).each {|i| a[i]=i}
5.407с
for i in 1...10_000_000
  a[i]=i
end
4.765 с


P.S.: если это действительно актуально, буду проводить тесты дальше, если же нет, что скорее всего, то подожду лучших времён
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 14 года 6 мес. назад от dark32.
Администратор запретил публиковать записи гостям.

Оптимизация и скорость 14 года 9 мес. назад #30769

  • Agckuu_Coceg
  • Agckuu_Coceg аватар
  • Вне сайта
  • Архитектор Миров
  • Простой Гинтокист с огромной внутренней ленью.
  • Сообщений: 1549
  • Спасибо получено: 329
  • 3 местоОрганизатор конкурсов2 место ГотвПобедитель конкурсаПисатель 2 место
А почему бы и нет... Оптимизация скриптов чертовски полезна для слабых компов. То есть мне это полезно, например.

Что ещё ты можешь продемонстрировать, dark32? Очень охота увидеть пользу.
Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.
Администратор запретил публиковать записи гостям.

Оптимизация и скорость 14 года 9 мес. назад #30780

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]

ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]


Заметил одну странность обращение к константе (переменная с большой буквы) медленней чем обращение к глобальной переменной
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 14 года 6 мес. назад от dark32.
Администратор запретил публиковать записи гостям.

Оптимизация и скорость 14 года 8 мес. назад #31256

  • Equilibrium Keeper
  • Equilibrium Keeper аватар
  • Вне сайта
  • Мастер
  • Скриптер
  • Сообщений: 119
  • Спасибо получено: 3
Интересно. И в случае с RGSS - чрезвычайно актуально (т.к. игра должна летать без видимых задержек).
Вот только хотелось бы не голых тестов, а оформленных табличек. А в идеале - полных отчетов с рекомендациями.

P.S. Да, и прогоняй каждый тест хотя бы раз 10. Мало ли что может стормозить.
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
Последнее редактирование: 14 года 8 мес. назад от Equilibrium Keeper.
Администратор запретил публиковать записи гостям.

Оптимизация и скорость 14 года 6 мес. назад #32575

  • Ice
  • Ice аватар
  • Вне сайта
  • Бывалый
  • Сообщений: 94
в некоторых случаях стоит почаще обращаться к - garbage collector
и вместо назначения переменных, использовать такие вещи как например #define

интересная тема была где "Тинейджер улучшил производительность Ruby"
habrahabr.ru/blogs/ruby/74426/
Бывший логин - Frozen
Администратор запретил публиковать записи гостям.

Оптимизация и скорость 14 года 6 мес. назад #32577

  • dark32
  • dark32 аватар
  • Вне сайта
  • Просветлённый
  • Тёмный
  • Сообщений: 361
  • Спасибо получено: 21
  • Организатор конкурсов
В RGSS реализован #define?
Что-то я не замечал этого.
Если да, то всё лучше некуда, если это тот #define о котором я думаю (думаю о cJass), и большая часть смысла этой статьи отпадает.

И ещё кое что: Ruby!=RGSS
Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!
Администратор запретил публиковать записи гостям.

Оптимизация и скорость 14 года 6 мес. назад #32579

  • Злодей
  • Злодей аватар
  • Вне сайта
  • Архитектор Миров
  • Настоящее звание: Прокуратор! Просто опечатка!
  • Сообщений: 1876
  • Спасибо получено: 78
RGSS это малость изменённый руби. Так что Дарк прав.

А на счёт скорости удобнее плюсовать не целые числа, он их дольше считает.
Попрактикуйтесь на них.
Администратор запретил публиковать записи гостям.
Модераторы: NeKotZima
Время создания страницы: 0.772 секунд