imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Компьютеры > Программирование
Опции темы
Старый 08.06.2005, 14:48     # 1
aramis
Junior Member
 
Регистрация: 31.10.2002
Сообщения: 150

aramis Путь к славе только начался
какие операции выполняются быстрее?

имеем:
int[] a=new int[100];
boolean[] b=new boolean[100];
a[25]=-1;
b[25]=true;

1--------------------
if (a[25]==-1)........;
---------------------

2--------------------
if (b[25])..............;
---------------------
что быстрее: 1 или 2? в смысле какое условие проверится быстрее?
ето всё в яве и на 16 мегагерц проце с 32 кб оперативки.

ешё один вопрос, не такой важный, но вдруг у кого-нибудь будет классная идея
имеется поле 10*10 квадратов и робот(лего, но ето не важно), который ездит по етому полю используя линии и 2 световых сенсора. в начале соревнования роботу передаются координаты перекрёстков на которых расположены "мины" и "сокровиша". задача: собрать все сокровиша не задев ни одной мины за минимальное время. сейчас мы просто вычисляем ближайшее сокровише и едем к нему( с помошью алгоритма дайкстры). остаётся решить travelling salesman problem на 32 кб оперативки
может у кого есть идеи, как ето сделать ефективнее, чем сейчас?

p.s. esli interesno http://callisto.informatik.fh-nuernberg.de/index.php?id=manhattan05
http://callisto.informatik.fh-nuernberg.de/index.php?id=manhattan-muenchen05
aramis вне форума  
Старый 08.06.2005, 15:12     # 2
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
Скорее всего второе, логические операции выполняются всегда быстрее. Просто в данном случае выигрыш в этом будет не очень большой, потому что обе операции выполняются за ничтожное время и по сравнению с другими на время их выполнения можно забить... Хотя если этих операций ОЧЕНЬ много, то может во времени выигрыш небольшой и получится. Да, забыл, алгоритм Дейкстра точно не самый лучший, сейчас не помню, какой можно применить, подумаю...
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 08.06.2005, 16:24     # 3
Melkor
Full Member
 
Аватар для Melkor
 
Регистрация: 25.11.2001
Адрес: Imho.ws
Сообщения: 941

Melkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царствеMelkor Луч света в тёмном царстве
Етот алгоритм далеко не самий лутший, с другой сторони у тебя огранишена памят.
Алгоритм Дейкстры действително достаточно еффективен. Но !! он разработан для поиска пути в произволном графе, когда о структуре графа ничего неизвестно заранее. У тебя же известно што некоторие догоги "глухие"
Попробуй лутше "волновой алгоритм", насколко я понял препятствия двигатся не могут, знашит пойдет. Правда не уверен што он будет лутше.
__________________
Когда умираешь, да еще так долго и трудно, очень хочется хоть немного насолить живым, просто невозможно удержаться от искушения!
М.Фрай
Melkor вне форума  
Старый 08.06.2005, 17:38     # 4
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
1. В джаве происходит работа с объектами... принято различать простые типы и объекты. Такая проверка будет выполняться примерно одинаково по времени и по ресурсам, т.к. это массивы простых типов. И если мне не изменяет память то булька внутри байткодов классов эквивалентна int 1 или 0. но это на Java2SE. На эту тему нужно смотреть доки джавамашины, под которую идет кодинг и доки SDK на котором компилится байткод.
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 08.06.2005, 17:38     # 5
aramis
Junior Member
 
Регистрация: 31.10.2002
Сообщения: 150

aramis Путь к славе только начался
"волновой алгоритм" ничем не лучше дайкстры. а так как на роботе нету нормальной garbage collection,то и памяти тоже надолго не хватит(у нас есть вариант 32 сокровиша и 32 мины))
aramis вне форума  
Старый 08.06.2005, 21:00     # 6
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
хм... кстати тут на недавно прошедшей конференции в честь 10 летия джавы, была обалденно классно-полезная но жутко непонятная лекция на тему токой настройки джавамашин с помощью всяких разных ключиков, так вот там была такая фраза, что и гарбадж коллектор там оптимизировать можно для конкретных задач и джавамашину... можно при знании дела повысить эффективность (читай скорость) работы программы и эффективность работы джавамишины с памятью примерно на 30%...
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 10.06.2005, 12:33     # 7
/7y3uK
Advanced Member
 
Аватар для /7y3uK
 
Регистрация: 09.03.2004
Адрес: толстозадая Москва
Сообщения: 498

/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)/7y3uK Реально крут(а)
Я таки нашел на _juga.ru ссылку по поводу типов данных... переведенная спецификация на первую версию джавамашины...
_http://www.uni-vologda.ac.ru/java/jvm/outline.htm

Цитата:
Виртуальная машина не содержит отдельных инструкций для типов boolean. Вместо этого, используются инструкции для целых, включающие целочисленный return, используемый для работы с логическими переменными;
__________________
В нашей стране настаивать на кореньях, черной смородине, лимонных корках - гораздо эффективнее, чем на правах
/7y3uK вне форума  
Старый 10.06.2005, 17:57     # 8
Hex0gen
Newbie
 
Регистрация: 24.09.2004
Сообщения: 42

Hex0gen Известность не заставит себя ждать
aramis какой у тебя крутой робот (с джавамашиной).
Советую не заниматься низкоуровневой оптимизацией, а поискать нормальный алгоритм. На яве (особенно на той, которая испольуется в телефонах и роботах) все очень медленно, поэтому тебя спасет только высокоуровневая оптимизация (хорошие алгоритмы).
Hex0gen вне форума  
Старый 24.06.2005, 16:14     # 9
Diff
Guest
 
Сообщения: n/a

На яве в телефонах все как раз быстро, это телефоны медленные...
А выполнятся будет одинаково быстро (или одинаково медленно)
 


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 14:18.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.