Сравнительные тесты скорости расчетов типов данных

Оптимизация кода.

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение gnoblin 03 дек 2014, 01:21

а что ты проверял с Button() вместо ButtonDown() ?)
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение bwolf88 03 дек 2014, 01:26

Можно было использовать ButtonDown с выводом таймера в лог, разницы никакой - цифры совпадают со статистикой если вызывать метод в Update().

Мне проще 1 раз зажать кнопку и видеть среднее время, чем 10 раз нажимать кнопку и вычислять его по логам, тем более первый вызов метода на порядок дольше остальных.
Тюнинг кода
Основная тема Воксельные изыскания
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
(Просьба при добавлении в скайпе писать причину)
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2176
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение gnoblin 03 дек 2014, 01:29

а расчеты для построения своего процедурного меша - делаешь в отдельном потоке в итоге или в основном?
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение bwolf88 03 дек 2014, 01:30

gnoblin писал(а):а расчеты для построения своего процедурного меша - делаешь в отдельном потоке в итоге или в основном?


Пока в основном, но как достигну предела математику буду выносить в поток, а присвоение коллайдера все равно будет в Main потоке, просто сделаю через очередь, чтобы не было провисаний.
Тюнинг кода
Основная тема Воксельные изыскания
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
(Просьба при добавлении в скайпе писать причину)
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2176
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение gnoblin 03 дек 2014, 01:33

может тупо вынесение в отдельный поток решило бы все проблемы с перфомансом и не обяз было оптимайзить? Плюс я лично хз одинаково ли оно работает на всех машинах в итоге ).
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение bwolf88 03 дек 2014, 01:40

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


Мне не хочется делать что то типа M&M10, где графика не айс, а лаги порой, будто Крузис 3 на первом пеньке запустить пытаются.
И если можно что то ускорить - почему бы не ускорить, а дополнительные милисекунды это как деньги - лишними никогда не бывают, их всегда найдется на что потратить :).
Тюнинг кода
Основная тема Воксельные изыскания
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
(Просьба при добавлении в скайпе писать причину)
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2176
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение Nicloay 03 дек 2014, 10:06

bwolf88 писал(а):И если можно что то ускорить - почему бы не ускорить, а дополнительные милисекунды это как деньги - лишними никогда не бывают, их всегда найдется на что потратить :).


- посмотрю я на тебя как после всей оптимизации тебе придется вренутся к коду и пофиксить что то. Имхо оптимизировать лучше только критичные участки. и иметь минимум мест с некрасивым-оптимизированным кодом.
If you wish to make an apple pie from scratch, you must first invent the universe.(Carl Sagan, Cosmos)
| My Asset Store | coloring book | github | _wiki.unity3d.com | twitter | linkedin |
Аватара пользователя
Nicloay
Адепт
 
Сообщения: 1288
Зарегистрирован: 31 май 2012, 09:27
Откуда: Вятские Поляны =)
  • Сайт

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение bwolf88 03 дек 2014, 16:47

Nicloay писал(а):- посмотрю я на тебя как после всей оптимизации тебе придется вренутся к коду и пофиксить что то. Имхо оптимизировать лучше только критичные участки. и иметь минимум мест с некрасивым-оптимизированным кодом.


Я быстро к синтаксису привыкаю, так что пару раз использую и станет как родной. Тем более некрасивого там ничего нет, разве что чуть более громоздко в паре мест - подумаешь векторы заменил на индексы :). Одномерным массивам я всегда предпочтение отдавал, битовые сдвиги мне очень понравились.
Тюнинг кода
Основная тема Воксельные изыскания
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
(Просьба при добавлении в скайпе писать причину)
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2176
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение bwolf88 04 дек 2014, 14:50

По поводу кеширования transform объекта. Проскакивало на форуме, что это чушь и вообще не нужно.
А если объект статический лучше вообще позицию присвоить вектору, к нему доступ раз в 20 быстрее.

Синтаксис:
Используется csharp

void TestV5()
    {
        for (int i = 0; i < 1000000; i++)
        {
            float b = transform.position.x;
        }
        //183ms
    }

void TestV6()
    {
        for (int i = 0; i < 1000000; i++)
        {
            float b = mytrans.position.x;
        }
        //93ms
    }

 
Тюнинг кода
Основная тема Воксельные изыскания
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
(Просьба при добавлении в скайпе писать причину)
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2176
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение Lailore 09 дек 2014, 03:04

Если вы так занялись тестированием, то считать надо не в реальном времени выполнения, а в процессорном времени, что бы остальные процессы не влияли на тест, это как минимум.
И да, это похоже на хаки и преждевременную оптимизацию. 50% времени выполнения приходятся на 5% кода, 80% процентов времени на 20% кода. Лучше написать проект в максимально читабельной и работоспособной мере, а лишь затем если потребуется оптимизировать горячие точки.
Аватара пользователя
Lailore
UNIт
 
Сообщения: 148
Зарегистрирован: 08 дек 2014, 23:53

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение bwolf88 09 дек 2014, 09:11

Я занимаюсь вещами которые требуют максимальной производительности и не важно как это читается. Если я сам это написал, то смогу прочитать.
Тюнинг кода
Основная тема Воксельные изыскания
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
(Просьба при добавлении в скайпе писать причину)
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2176
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение Woolf 09 дек 2014, 13:17

bwolf88 писал(а):Я занимаюсь вещами которые требуют максимальной производительности и не важно как это читается.


Ну тогда вам не на юнити надо, а C++ и нативный OpenGL/DX. А то вы пытаетесь копать землю ножом и расссуждаете о свойствах и мягкости грунта при том, что есть лопата или даже экскаватор.
Разработчик theFisherOnline - там, где клюёт
Разработчик Atom Fishing II - Первая 3D MMO про рыбалку
Разработчик Atom Fishing - Рыбалка на поплавок, донку, нахлыст, блесну в постъядерный период.
Аватара пользователя
Woolf
Адепт
 
Сообщения: 7053
Зарегистрирован: 02 мар 2009, 16:59

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение Diab10 09 дек 2014, 14:17

Woolf писал(а):
bwolf88 писал(а):Я занимаюсь вещами которые требуют максимальной производительности и не важно как это читается.


Ну тогда вам не на юнити надо, а C++ и нативный OpenGL/DX. А то вы пытаетесь копать землю ножом и расссуждаете о свойствах и мягкости грунта при том, что есть лопата или даже экскаватор.


При чём тут С++ и OpenGL/DX? ТС хочет делать игры на юнити, и для этого ему нужна генерация мешей. Для того, чтобы повысить скорость расчётов - он делает данные замеры, которые позволили ему снизить время генерации.
Так и при чём тут С++ и OpenGL/DX?
Ещё скажите ему на ассемблере писать...
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение bwolf88 09 дек 2014, 16:10

Diab10 писал(а):Ещё скажите ему на ассемблере писать...

Кстати видел я как A* на смеси ассемблера и дельфи делали, с дикими оптимизациями и расчетом "каждого такта" - это жесть, но скорость там нереальная. Мне этого не понятнуть, поэтому я выжимаю из того что есть.
Тюнинг кода
Основная тема Воксельные изыскания
Сюда периодически чего нибудь выкладываю https://github.com/LuchunPen
(Просьба при добавлении в скайпе писать причину)
Аватара пользователя
bwolf88
Адепт
 
Сообщения: 2176
Зарегистрирован: 30 апр 2014, 06:40
Skype: bwolf331

Re: Сравнительные тесты скорости расчетов типов данных

Сообщение Lailore 10 дек 2014, 21:50

bwolf88 писал(а):
Diab10 писал(а):Ещё скажите ему на ассемблере писать...

Кстати видел я как A* на смеси ассемблера и дельфи делали, с дикими оптимизациями и расчетом "каждого такта" - это жесть, но скорость там нереальная. Мне этого не понятнуть, поэтому я выжимаю из того что есть.

Выжимать то, что есть надо только когда этого потребует ситуация, а не постоянно. Стараясь "выжать" потстоянно вы рискуете писать говнокод.
Аватара пользователя
Lailore
UNIт
 
Сообщения: 148
Зарегистрирован: 08 дек 2014, 23:53

Пред.След.

Вернуться в Код

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1