![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
в JDK нету класс комплексных чисел.
|
|||
|
||||
Shaggie |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 570 Регистрация: 21.12.2006 Где: outer space Репутация: 4 Всего: 72 |
В commons-math есть реализация, можно взять её.
|
|||
|
||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
не, так либу целую надо тащить ... прое самому класс написать ... в любом случае эксперимент будет не совсем чистый.
|
|||
|
||||
Kallikanzarid |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: нет Всего: 3 |
Достаточно написать имитацию std::complex из C++ - с двумя членами, аксессорами, функцией abs(x) и методом toString(). Ну или как вам лучше - я вопросами производительности Java раньше не интересовался.
ИМХО, основная потеря производительности джавы заключается именно в инженерных решениях при разработке коллекций, большое число метаданных, из-за которых не так эффективен кэш, использовании большого числа уровней абстракции при вводе-выводе и т. д. В бенчмарках вроде "вызови простой метод 10000 раз" или "перемножь две матрицы" это никогда не проявится. Так что такие "нечистые" эксперименты - ИМХО, единственный способ получить представление о том, как соотносится производительность реальных приложений на джаве с производительностью реальных приложений на более низкоуровневых языках. |
|||
|
||||
kamre |
|
||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 24.3.2006 Репутация: 1 Всего: 13 |
Почему же неправильно то? Сравнивал именно скорость отрисовки для простого окна, а также то насколько хорошо поддерживается System Look And Feel (в моем случае это Windows XP LAF). Кстати, вот еще сравнивал скорость Java2D и Qt: http://trac-hg.assembla.com/jgears В принципе Java2D не так уж и сильно тормозит, правда не поддерживает полноценное hardware acceleration.
Ну вот при запуске того самого окошка, Java взяла примерно 30Мб памяти, это нормально. А вот то, что при ресайзе окошка она постоянно аллоцирует новые объекты (похоже что картинки для кэширования) и потребление памяти за 100Мб переваливает (при этом еще и сборщик мусора постоянно подчищает эти объекты и все еще больше тормозит) - не нормально. Хотя к скорости и потреблению памяти для Metal LAF у меня претензий нет, все работает достаточно быстро и не жрет память. Но зато есть претензии в виду самого Metal LAF...
Eclipse побыстрее работает (именно в плане интерфейса вроде прокрутки окна с кодом), хотя на современной машинке это почти и не заметно. А на счет LAF - в IDEA по умолчанию Alloy LAF, и он половину шрифтов не сглаживает в интерфейсе почему-то. |
||||||
|
|||||||
EJack |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 4.9.2007 Репутация: нет Всего: нет |
Потому что платформа потребляет всегда больше ресурсов по определению. Есть такая вещь как мета данные - их много, под них нужна память. Тут конечно стоит вопрос реализации самого L&F, кроме того сборщик работает не постоянно - а только когда решает что пора. Например зачем чистить 50 метров, если в системе еще свободно 2 гига, поэтому память и растет. Вот не очень то я уверен что в эклипсе прокрутка быстрее - спорить не буду. На згляд у всех по разному будет, у меня вообще на поймешь (машинка зверь), но вот отчего я с эклипса перелез на НетБинс а теперь и идею осваиваю (покупать собрался) так это по стабильности работы. Да и 8 версия вообще лапочка ![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Формат записи числа? Как разделяются отдельные числа? Множество комплексных чисел неупорядоченное. Как сортируем? Формат такой же как и во входном файле? -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Kallikanzarid |
|
||||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: нет Всего: 3 |
Числа записываются как два числа в скобках через запятую или одно число в скобках, если мнимая часть равна нулю: (1) (0, 1), (0.000001, 3414) Числа разделены пробелом.
Сорри ![]() ![]()
Да. Это сообщение отредактировал(а) Kallikanzarid - 11.2.2009, 13:33 |
||||||
|
|||||||
Kallikanzarid |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: нет Всего: 3 |
Немного переделал:
Добавлено через 10 минут и 53 секунды Протестировал на файле из 10000 чисел (~10 мб):
Машина - Pentium D 2.80, 1024 MB, Windows Vista. |
||||
|
|||||
Kallikanzarid |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 240 Регистрация: 9.11.2008 Репутация: нет Всего: 3 |
Люди, ау
![]() |
|||
|
||||
Temdegon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 11.10.2008 Где: Minsk Репутация: 7 Всего: 9 |
У меня такой вопрос. Есть к примеру сервер вооруженный 4-мя двухъядерными процами. Если запустить на этом сервере Java-приложение, которое будет что-то длительное время делать, будут ли использоваться все процессоры или система ограничится одним? Приложение на Cи, решающее эту задачу (Автоматическое составление расписания для студентов) выполняется около 40 минут, но при этом используется только один процессор. Переписать эту программу так, что бы она использовала остальные процесоры никто не может по многим причинам. Вот у меня и возник этот вопрос, есть ли с этим делом какие-то сложности у Java? Насколько она эффективна на многопроцессорных системах? Должен ли сам код быть многопоточным для этого? Есть ли какие-то тонкости в установке и насторойке jre на многопроцессорных серверах? Есть ли особенности в написании кода для таких систем?
|
|||
|
||||
v2v |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
Переделать приложение в многопоточное. В вашем случае будет достаточным разделить нагрузку между 4мя паралельными потоками, и производительность возростёт ровно в 4 раза.
Добавлено через 2 минуты и 47 секунд
нет, реализовать многопоточность будет достаточно, об остальном позаботится ОС. Добавлено через 4 минуты и 29 секунд Можете проследить за загрузкой ЦПУ на разных ядрах при выполнении следующего врагмента кода.
|
||||
|
|||||
Cr@$h |
|
||||||||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: нет Всего: 41 |
![]()
Операционная система ничем не ограничится и ничем не расширится. Сколько потоков есть, столько и будет.
Одной из причин являются невозможностью распараллелить сам алгоритм?
Распараллеливаешь в ручную, используя потоки. Такая программа будет написана только на N-ядерные/процессорные платформы. Каждый раз придётся переписывать для нового числа ядер. Управляемый код уже содержит в себе многопоточность, но лишь служебного характера.
Так говорить нельзя. За такое можно сразу банить. ![]() |
||||||||
|
|||||||||
v2v |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1620 Регистрация: 20.9.2006 Где: Киев Репутация: 8 Всего: 56 |
в данном контексте, когда речь идёт о сложном алгоритме , который на протяжении длительного времени полностью занимает всё процессорное время одного из ядер, можно... тем более я сказал не потоки разделить на 4 , а нагрузку разделить на 4 потока... |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Ммм. Почему? Достаточно сделать число потоков конфигурируемым, насколько я понимаю. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |