|
|
|
Supreme Being
      
участник
Last Login: 29.04.2007 19:12
Сообщ.: 548,
Visits: 5 276
|
|
Danissimo (29.11.2006) Разрешите поделиться мыслями об узких местах. Не помню, кто сказал, что преобразование типов может выполняться в узком месте, и в этом случае было бы не лишним написать свой контейнер. Хочу возразить: писать свою коллекцию только для того, чтобы избавиться от приведения типов -- это все равно, что узкое место переписать на ассемблере. Нужно? Мой ответ -- нет. Знаю все возражения. Но также знаю, что как не переписывай квадратичный алгоритм, так он квадратичным и останется. Коэффициент может сделать его более крутым или пологим. Не более. Так что, я считаю, что преобразование типов проблемой стать не может. Следовательно, потребности переписывать возникать не должно.
Коллекции в Java общего назначения. Улавливаешь?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 02.02.2008 19:48
Сообщ.: 480,
Visits: 5 178
|
|
| Метафоры какие-то, намеки. Ничего не понимаю. :)
|
|
|
|
|
Forum Member
      
участник
Last Login: 13.11.2007 15:00
Сообщ.: 47,
Visits: 400
|
|
Хочу внести свои пять копеек. Во-первых, кастинг действительно отъедает порядка пяти процентов (результат воспроизводится простыми тестами). Во-вторых, сия операция (по результатам моего теста) длится 3 наносекунды.
Теперь вопрос: много ли это? И еще один вопрос: много ли это для Java?
Например, операция деления двух long'ов примерно в 3 раза длительнее.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 30.03.2008 17:43
Сообщ.: 247,
Visits: 2 370
|
|
| Собственно непонятно о чем спор. Если место действительно узкое и есть на это дело жалобы от пользователей и оптимизировать больше ну никак нечего, то почему бы и не написать свою коллекцию. Если же просто не дает покоя мысль о потере пяти процентов, то пожалуй не стоит. Хотя при избытке свободного времени можно и в последнем случае попробовать.
|
|
|
|
|
Supreme Being
      
участник
Last Login: 29.04.2007 19:12
Сообщ.: 548,
Visits: 5 276
|
|
wind (03.12.2006) ...длится 3 наносекунды.
Вот это +1. До наносекунд вычислил. Вот только как?
|
|
|
|
|
Supreme Being
      
участник
Last Login: 30.03.2008 17:43
Сообщ.: 247,
Visits: 2 370
|
|
| просто некоторые люди мыслят быстрее :)
|
|
|
|
|
Forum Member
      
участник
Last Login: 13.11.2007 15:00
Сообщ.: 47,
Visits: 400
|
|
paradise (04.12.2006)
Вот это +1. До наносекунд вычислил. Вот только как?
Всё просто: java.lang.System.nanoTime()
J2SE 1.5+
А вообще-то не обязательно наличие специального метода. Запустить длиннющий цикл, полученное время поделить на число итераций. Разумеется, это будет "грязный" результат, но для сравнительных тестов - в самый раз.
|
|
|
|
|
Forum Guru
      
участник
Last Login: 13.12.2006 13:36
Сообщ.: 53,
Visits: 535
|
|
Если уж озобачиваться производительностью при работе с List, Set, Map, Integer, Double и прочим, то ИМХО лучше стоит посмотреть в эту сторону - http://javolution.org/
Использование этой либы даст прирост производительности гараздо больший чем простой отказ от кастинга.
|
|
| |