Оптимизация и скорость
16 года 3 мес. назад - 15 года 11 мес. назад #30768
от dark32
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
dark32 создал тему: Оптимизация и скорость
Исследование скорости RGSS
Состояние: Временно остановленно
Причина: Отсутствуют помошники, не актуальность темы на данном уровне развития
Вечный вопрос что лучше: краткость кода или скорость его работы или читабельность.
В эру высоких технологий, когда все операции на компьютере проходят за миллисекунды. мы не задумываемся о скорости выполнения кода, а зря. Наш код порой представляет собой кучу неразборчивых процедур, циклов, рекурсий, джампов и прочего. Через некоторое время мы и сами забываем за что отвечает та или иная процедура. И через некоторое время мы начинаем замечать что наш код начитает выполнятся долго. Тут то и возникает вопрос об оптимизации.
Предлагаю обсудить методы оптимизации наших скриптов, а так же скорость выполнения и потребление оперативной памяти различных функций.
Чтобы не быть голословным представляю вам на суд мои тесты некоторых операторов
1.203с
0.969с
2.516с
4.094с
5.407с
4.765 с
P.S.: если это действительно актуально, буду проводить тесты дальше, если же нет, что скорее всего, то подожду лучших времён
Состояние: Временно остановленно
Причина: Отсутствуют помошники, не актуальность темы на данном уровне развития
Вечный вопрос что лучше: краткость кода или скорость его работы или читабельность.
В эру высоких технологий, когда все операции на компьютере проходят за миллисекунды. мы не задумываемся о скорости выполнения кода, а зря. Наш код порой представляет собой кучу неразборчивых процедур, циклов, рекурсий, джампов и прочего. Через некоторое время мы и сами забываем за что отвечает та или иная процедура. И через некоторое время мы начинаем замечать что наш код начитает выполнятся долго. Тут то и возникает вопрос об оптимизации.
Предлагаю обсудить методы оптимизации наших скриптов, а так же скорость выполнения и потребление оперативной памяти различных функций.
Чтобы не быть голословным представляю вам на суд мои тесты некоторых операторов
Code:
for i in 1...10_000_000
end
Code:
(1..10_000_000).each {}
Code:
for i in 1...10_000_000
u=1
end
Code:
(1..10_000_000).each {|i| u=1}
Code:
(1..10_000_000).each {|i| a[i]=i}
Code:
for i in 1...10_000_000
a[i]=i
end
P.S.: если это действительно актуально, буду проводить тесты дальше, если же нет, что скорее всего, то подожду лучших времён
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 11 мес. назад пользователем dark32.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Agckuu_Coceg
-
- Не в сети
- Живу я здесь
-
- Простой Гинтокист с огромной внутренней ленью.
Скрыть
Больше
- Сообщений: 1549
- Спасибо получено: 329
16 года 3 мес. назад #30769
от Agckuu_Coceg
Agckuu_Coceg ответил в теме Оптимизация и скорость
А почему бы и нет... Оптимизация скриптов чертовски полезна для слабых компов. То есть мне это полезно, например.
Что ещё ты можешь продемонстрировать, dark32? Очень охота увидеть пользу.
Что ещё ты можешь продемонстрировать, dark32? Очень охота увидеть пользу.
Огромный любитель среброволосых или пепельноволосых 2D-девушек с хорошим характером или со скрытыми привлекательными чертами.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
16 года 3 мес. назад - 15 года 11 мес. назад #30780
от dark32
2,414
2,329
3,232
2,703
2.344
4.359
4.765
4.859
3,656
5,828
Заметил одну странность обращение к константе (переменная с большой буквы) медленней чем обращение к глобальной переменной
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
dark32 ответил в теме Оптимизация и скорость
ВНИМАНИЕ: Спойлер!
Code:
a=123
for i in 1...10_000_000
u=a
end
ВНИМАНИЕ: Спойлер!
Code:
for i in 1...10_000_000
u=123
end
ВНИМАНИЕ: Спойлер!
Code:
A=123
for i in 1...10_000_000
u=A
end
ВНИМАНИЕ: Спойлер!
Code:
$a=123
for i in 1...10_000_000
u=$a
end
2,703
ВНИМАНИЕ: Спойлер!
Code:
aaaaaaaaaaaaaaaaaaaaaaaaaaaa=123
for i in 1...10_000_000
u=aaaaaaaaaaaaaaaaaaaaaaaaaaaa
end
2.344
ВНИМАНИЕ: Спойлер!
Code:
for i in 1...10_000_000
u=2*2
end
ВНИМАНИЕ: Спойлер!
Code:
for i in 1...10_000_000
u=2.0*2
end
ВНИМАНИЕ: Спойлер!
Code:
for i in 1...10_000_000
u=2.0*2.0
end
ВНИМАНИЕ: Спойлер!
Code:
def test
end
for i in 1...10_000_000
test
end
3,656
ВНИМАНИЕ: Спойлер!
Code:
def test
return 123
end
for i in 1...10_000_000
u=test
end
Заметил одну странность обращение к константе (переменная с большой буквы) медленней чем обращение к глобальной переменной
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Последнее редактирование: 15 года 11 мес. назад пользователем dark32.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Equilibrium Keeper
-
- Не в сети
- Захожу иногда
-
- Скриптер
Скрыть
Больше
- Сообщений: 119
- Спасибо получено: 3
16 года 1 мес. назад - 16 года 1 мес. назад #31256
от Equilibrium Keeper
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
Equilibrium Keeper ответил в теме Оптимизация и скорость
Интересно. И в случае с RGSS - чрезвычайно актуально (т.к. игра должна летать без видимых задержек).
Вот только хотелось бы не голых тестов, а оформленных табличек. А в идеале - полных отчетов с рекомендациями.
P.S. Да, и прогоняй каждый тест хотя бы раз 10. Мало ли что может стормозить.
Вот только хотелось бы не голых тестов, а оформленных табличек. А в идеале - полных отчетов с рекомендациями.
P.S. Да, и прогоняй каждый тест хотя бы раз 10. Мало ли что может стормозить.
Истина там, во тьме, и во тьме ты иди - мыслящий бродит во тьме.
В себя самого загляни, открой свою дорогу в Ничто.
В Ничто ты войди, во тьму, и пойми:
Пока ты во тьме, не может она быть Ничем - ведь там ты.
Последнее редактирование: 16 года 1 мес. назад пользователем Equilibrium Keeper.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
15 года 11 мес. назад #32575
от Ice
Ice ответил в теме Оптимизация и скорость
в некоторых случаях стоит почаще обращаться к - garbage collector
и вместо назначения переменных, использовать такие вещи как например #define
интересная тема была где "Тинейджер улучшил производительность Ruby"
habrahabr.ru/blogs/ruby/74426/
и вместо назначения переменных, использовать такие вещи как например #define
интересная тема была где "Тинейджер улучшил производительность Ruby"
habrahabr.ru/blogs/ruby/74426/
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
15 года 11 мес. назад #32577
от dark32
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
dark32 ответил в теме Оптимизация и скорость
В RGSS реализован #define?
Что-то я не замечал этого.
Если да, то всё лучше некуда, если это тот #define о котором я думаю (думаю о cJass), и большая часть смысла этой статьи отпадает.
И ещё кое что: Ruby!=RGSS
Что-то я не замечал этого.
Если да, то всё лучше некуда, если это тот #define о котором я думаю (думаю о cJass), и большая часть смысла этой статьи отпадает.
И ещё кое что: Ruby!=RGSS
Тьма, тьма, и ничего кроме тьмы...
ПОМОГИТЕ!!! или как быстро получить бан!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
15 года 11 мес. назад #32579
от Злодей
Злодей ответил в теме Оптимизация и скорость
RGSS это малость изменённый руби. Так что Дарк прав.
А на счёт скорости удобнее плюсовать не целые числа, он их дольше считает.
Попрактикуйтесь на них.
А на счёт скорости удобнее плюсовать не целые числа, он их дольше считает.
Попрактикуйтесь на них.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
Время создания страницы: 0.102 секунд
