Оптимизация и скорость

Организатор конкурсов
Больше
16 года 3 мес. назад - 15 года 11 мес. назад #30768 от dark32
Исследование скорости RGSS
Состояние: Временно остановленно
Причина: Отсутствуют помошники, не актуальность темы на данном уровне развития

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

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

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



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

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


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

Тьма, тьма, и ничего кроме тьмы...

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

2 место Готв Писатель 2 место 3 место Победитель конкурса Организатор конкурсов
Больше
16 года 3 мес. назад #30769 от Agckuu_Coceg
А почему бы и нет... Оптимизация скриптов чертовски полезна для слабых компов. То есть мне это полезно, например.

Что ещё ты можешь продемонстрировать, dark32? Очень охота увидеть пользу.

Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
16 года 3 мес. назад - 15 года 11 мес. назад #30780 от dark32
ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!

ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!


ВНИМАНИЕ: Спойлер!


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

Тьма, тьма, и ничего кроме тьмы...

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

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
16 года 1 мес. назад - 16 года 1 мес. назад #31256 от Equilibrium Keeper
Интересно. И в случае с RGSS - чрезвычайно актуально (т.к. игра должна летать без видимых задержек).
Вот только хотелось бы не голых тестов, а оформленных табличек. А в идеале - полных отчетов с рекомендациями.

P.S. Да, и прогоняй каждый тест хотя бы раз 10. Мало ли что может стормозить.

Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
Последнее редактирование: 16 года 1 мес. назад пользователем Equilibrium Keeper.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 11 мес. назад #32575 от Ice
Ice ответил в теме Оптимизация и скорость
в некоторых случаях стоит почаще обращаться к - garbage collector
и вместо назначения переменных, использовать такие вещи как например #define

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

Бывший логин - Frozen

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Организатор конкурсов
Больше
15 года 11 мес. назад #32577 от dark32
В RGSS реализован #define?
Что-то я не замечал этого.
Если да, то всё лучше некуда, если это тот #define о котором я думаю (думаю о cJass), и большая часть смысла этой статьи отпадает.

И ещё кое что: Ruby!=RGSS

Тьма, тьма, и ничего кроме тьмы...

ПОМОГИТЕ!!! или как быстро получить бан!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
15 года 11 мес. назад #32579 от Злодей
RGSS это малость изменённый руби. Так что Дарк прав.

А на счёт скорости удобнее плюсовать не целые числа, он их дольше считает.
Попрактикуйтесь на них.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Время создания страницы: 0.102 секунд
Работает на Kunena форум