![]() |
|
||||||||||
|
|||||
|
Цитата:
- нет типизации функций, - вызов функции непростительно дорог. В сортировке только используется и то только потому, что копипастить алгоритм сортировки слишком дико. Но в особо критических местах именно не быстрый вызов функции заставляет делать свою реализацию сортировки. В as3 я использовал функции высших порядков только для выбора наиболее подходящих значений/вариантов/объектов по критериям. Критерии были как раз функциями, передававшимися в алгоритм выборки. Но это использовалось только в AI, туториале. В основной логике такого не было - дорого потому что и не типизировано. Да даже и в C# как-то стремно эти штуки использовать, мало ли как на производительности скажется, только когда без них код слишком страшным становится. Да, логично, Вы здесь индекс используете внутри цикла и было бы слегка странно гнать foreach-ем и итерировать внутри цикла i++ одновременно, сравнивать i и вызывать break. |
|
|||||
|
[+4 06.05.14]
|
Что вообще за пустотелый бред - мерить профессионализм циклами? это знатное трололо !!!
А вот какой из этих 2х примеров профессиональнее??! ))) ???
__________________
Марк Tween |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
Цитата:
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 137
|
Зачем применительно к скриптовому языку обсуждают способы выиграть несколько команд процессора? По-моему, куда важнее читабельность кода. И for, по-моему, в этом смысле лучше подходит почти во всех случаях.
P.S.: Я могу ошибаться, но мой опыт работы с С++ подсказывает, что while (i--) стоит делать чуть чаще чем никогда (так же как использовать побитные команды для оптимизации всяких умножений и округлений). По-моему, не стоит, опираться на особенности представления числа в памяти при работе с ним. Представление может поменяться, может поменяться разрядность числа (опять-таки, вполне вероятно, что для скриптовых языков это не так актуально и я ошибаюсь, если что - поправте меня). Плюс формально не логично - использовать число в качестве флага. Тут хоть декримент стоит и видно, что это число. А если бы было что-то вроде while(i) - вообще беда и путаница для программиста, читающего код. Цитата:
|
|
|||||
|
[+4 06.05.14]
|
Второй да, ну хоть объяснили бы почему)))
По сабжу, я вообще, например, не использую while - тут кто к чему привык, кому как удобно. с for - код читабельнее это 100%, скорости почти одинаковы. Так что, профессиональнее там - где читать удобно и понятно
__________________
Марк Tween |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
in4core, Вы сами-то заметили, что у Вас условия разные?
Первое выдаст трейс, если count=-1, а второе — нет. Это ответ на вопрос "почему второй", если такой возникнет. Потому что так вероятность ошибки "не учёл" практически исключена.
__________________
Reality.getBounds(this); |
|
|||||
|
[+4 06.05.14]
|
Цитата:
Поэтому можно заменить на private var str:String = ""; и проверки if(str) против if(str == "") ___________ Или вот например - можно назвать знатным трололо использовать int в циклах вместо uint. ( ну когда нужно ). А ведь 99% разработчиков используют именно int
__________________
Марк Tween |
|
|||||
|
Отсюда следует резонный вопрос, как вывести критерии профессионализма из задачи в которой сравниваются красное с теплым, но при этом не уточняется, что получить надо только красное или только теплое?
__________________
משיח לא בא משיח גם לא מטלפן |
|
|||||
|
Цитата:
Не, тут конечно один товарищ пытался оптимизировать итерацию по 10-ти элементам за кадр. И совершенно не беспокоился о времени, потраченном на обработку каждого элемента и о тоннах другого кода, который выполняелся в том же кадре. Но это общие вопросы оптимизации - в С++ тоже _не_ надо оптимизировать участок, который отжирает .1% от общего времени работы игры. Надо критические места оптимизировать. Но в as3 коде такие места встречаются и часто именно код является источником тормозов, хотя рендеринг дотридешного флеша тоже медленный как сволочь. |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:49. |
|
|
« Предыдущая тема | Следующая тема » |
|
|