Производитеьность скриптов. Жаба против Напильника.

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

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 28 май 2009, 22:08

if((hash[k]==1)&&((objs[k] as GameObject).renderer.sharedMaterial.GetTexture("_MainTex").name == (objs[i] as GameObject).renderer.sharedMaterial.GetTexture("_MainTex").name)){
(objs[k] as GameObject).renderer.sharedMaterial = (objs[i] as GameObject).renderer.sharedMaterial;
hash[k]=0;
}


Потрясающее форматирование. Пока, с каспером и софтом в трее и то напильник выигрывает.

З.Ы. Может можно пофиксить тэг [code][/code], чтобы так код не колбасило. И чтобы табы понимал.
З.Ы.Ы. Совсем забыл про приведение типов, где ж моя голова... наверное все фубар...
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение Neodrop 28 май 2009, 22:17

Кривой код. Вместо двух кастов, достаточно объявить две переменные и кастануть один раз. А в цикле будет очень значительная экономия. Я же писал выше код. :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 28 май 2009, 22:23

Резалты. (по 5 прогонов)
Код: Выделить всё
1) Тупо Жаба, с автоприведением типов:
10.151012
11.527839
9.753527
9.763131
9.464273

2) #pragma strict:
2.212734
2.154170
2.175579
2.177586
2.177586


Хм, а как я изменять буду, если это переменные. Все равно 4 каста будет.

З.Ы. Аа, понял. Одна переменная и два каста. Тобишь то, что только читаем - в переменную. То, куда пишем- по касту. Если посмотреть и на касты в переменной, то всего будет три, вместо четырех.

З.Ы.Ы. Только и так понятнее, что напильник в 4-5 раз быстрее.
З.Ы.Ы.Ы. Могу свой конфиг отписать, если нужно.
Последний раз редактировалось wild_r 29 май 2009, 09:04, всего редактировалось 2 раз(а).
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение Neodrop 28 май 2009, 22:27

Спасибо, мне не нужно. Интересно, всё-таки, глянуть с директивой... :-?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 28 май 2009, 22:45

В смысле? На код? Или напрямую на С#?
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение Neodrop 28 май 2009, 22:49

Нет. На скорость работы скрипта с директивой #pragma strict
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 28 май 2009, 22:59

Так я же написал - первая без этой директивы, а второй список - с ней. Там, где 2 хз чего - с ней, где 9 - без. Ведь с самого начала вы в качестве оптимизации предложили именно директиву.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение Neodrop 28 май 2009, 23:03

То есть выходит, что с директивой почти равно по скорости с напильником?
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 28 май 2009, 23:07

На Шарпе не пробовал. Завтра утром.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение Neodrop 28 май 2009, 23:09

Хм... Значит ваш пост :

Резалты. (по 5 прогонов)

Код: Выделить всё
1) Тупо Жаба, с автоприведением типов:
10.151012
11.527839
9.753527
9.763131
9.464273

2) Напильник:
2.212734
2.154170
2.175579
2.177586
2.177586


Немного некорректен. Второй столбец это с #pragma strict ?
Или я в конец запутался... :-?
(Напильник это Sharp)
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 29 май 2009, 09:04

Дада, извините что запутал.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 29 май 2009, 12:37

Код:
Код: Выделить всё
   objs = FindObjectsOfType(GameObject);

Ругается:
Код: Выделить всё
Assets/Scripts/Searching.cs(13,34): error CS0119: Expression denotes a `type', where a `variable', `value' or `method group' was expected


Также:
1) Как получить длину массива.
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение Neodrop 29 май 2009, 12:42

C#
Код: Выделить всё
GameObject objs = FindObjectsOfType(typeof(GameObject)) as GameObject;


Массив:

C#
Код: Выделить всё
ArrayList arr;
//..........................

int lenght = arr.Count;


Но, если есть возможность, лучше использовать предопределённые массивы. С заранее заданным размером. Они быстрее обрабатываются и не понадобиться их кастовать.
Кстати, это одинаково справедливо для обоих языков.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение wild_r 29 май 2009, 19:01

А как в Шарпе будет @script ExecuteInEditMode()?
wild_r
UNITрон
 
Сообщения: 220
Зарегистрирован: 16 апр 2009, 20:46
Откуда: Россия, Санкт - Петербург
  • ICQ

Re: Производитеьность скриптов. Жаба против Напильника.

Сообщение Neodrop 29 май 2009, 19:08

[@script ExecuteInEditMode]
Кажется так. Но точно не помню..

Уточнил. Вот так: [ ExecuteInEditMode() ]
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Пред.След.

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

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

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