![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: нет Всего: 12 |
Ho4u obsuditь vopros uvili4enie proizvoditelnosti koda. Vsem izvsetno 4to:
a+=1 4em a=a+1 StrinBuffer vmesto konkatencii strok. Objedinenie neskolkih uslovij v odnom if 4em v 2 i bolee. Kakie eshjo estь sposobi ? P.S. Po4emu trasnlit ne rabotaet ![]() Это сообщение отредактировал(а) Tony - 2.1.2008, 17:36 |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
разве это увеличивает скорость?! Добавлено через 28 секунд a++ наверно? Добавлено через 1 минуту и 55 секунд умножение на число в степени двойки. x * 2 == x << 1 x * 4 == x << 2 x * 8 == x << 3 Добавлено через 8 минут и 49 секунд вот вообще классная статейка по баловству с битами |
|||
|
||||
Tony |
|
||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: нет Всего: 12 |
Da,tut ne uda4no privjol nadobilo
V ru nete bila statja pro java i kak povisit' proizvoditelnost' No ssilki ne pomnju :( Это сообщение отредактировал(а) Tony - 2.1.2008, 18:24 |
||||||
|
|||||||
COVD |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 17 Всего: 43 |
Ловля "блох". Компилятор, наверняка, сам справляется с такого рода оптимизациями.
|
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
да, пожалуй, но с битами, всё-таки думаю нет ^_^
|
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
И с битами в том числе. Многое ещё зависит от конкретной архитектуры, от того, будет ли данный кусок java-кода скомпилирован и на каком этапе (и каким образом, конечно). Для справки - на моём компьютере java-код x & 1 не будет работать быстрее, чем x % 2. При ручной оптимизации стоит обращать внимание только на минимизацию обращений к памяти, всё остальное не стоит внимания. Да и это уже - гадание на кофейной гуще - целевая jvm не известна. Ведь при работе на каком-нибудь процессоре, где вообще нет разницы в скорости для разных арифметических операций вся эта работа коту под хвост. А ведь вполне можно нарваться на такой, где наоборот - умножение и деление будет работать много быстрее битовых операций. Так что не стоит, не стоит ![]() Это сообщение отредактировал(а) w1nd - 3.1.2008, 23:37 -------------------- ![]() ![]() |
|||
|
||||
Tony |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1159 Регистрация: 3.3.2006 Где: Riga Репутация: нет Всего: 12 |
Nu kak ja ponimaju, boslhe ne kakih soobrazhenij net
![]() |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
w1nd, вы статейку почитайте, там более сложные операции, чем операции с умножением и делением.
на самом деле, договориться можно до многого, вплоть до того, чтобы выбрать native язык, так скорость вообще возрастет ^_^ Как мне недавно на форуме ответили "Это не наши методы" © Добавлено через 11 минут и 9 секунд С другом разрабатывали шахматы недавно в рамках лабораторной работы. Первая версия ИИ была очень тормозящая и менее умная. Сначала думали, что проблема в том, что шахматы хранятся массиве а не в векторе (разница, что использовать в нашем случае была), ИИ делал массовые операции, поэтому считается, что оптимизация уместна. Попробовали, сделали... результат тот же, со временем совершенствовался ИИ, применялись новые подходы, в итоге ИИ в конечной версии бегает шустро, почти мгновенно, вот и думайте, стоит ли ломать спички, когда собака зарыта в подходе ^_^ А по теме вот еще ссылочка: http://lib.juga.ru/article/view/164/1/68/ И хорошее начало:
|
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 20 Всего: 54 |
В кроссплатформенной среде оптимизация кода под конкретную архитектуру (процессор/ОС/jvm) бессмысленна и вредна. Поэтому для java ничего подобного не читал, впредь не собираюсь и другим не советую ![]() Это сообщение отредактировал(а) w1nd - 6.1.2008, 07:59 -------------------- ![]() ![]() |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Наконец нашел в сундучке запылившуюся тему, Сдуем пылинки
Вернемся к нашим битам. Скажите, уважаемый w1nd, если под архитектуру подстраиваться не стоит, то как же объяснить, к примеру, работу метода Integer.getChars() где изобилируют строки типа
|
|||
|
||||
Ulysses4j |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 6.6.2007 Где: Ростов-на-Дону Репутация: 2 Всего: 10 |
+1 Современные компиляторы делают такие вещи намного лучше простых смертных программистов. Это становится понятным, если послушать приличный университетский курс по оптимизирующим компиляторам. Ну, или Ахо почитать (как раз новенький вышел). Лучше читайте руководства по тюнингу JVM — здесь намного большего достичь можно. Правда, пробегало что-то в ru_java про оптимизацию хранения примитивных типов в коллекциях (действуя в лоб, их же в объекты заворачивать нужно): есть какие-то такие наработки. Но конкретней не скажу. -------------------- Communication is critical to the job of a programmer. C. Jazdzewski. Fatherly Advice To New Programmers |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |