dront78 17.01.2013 15:29
Tips & tricks — Летающая жаба
Оказалось Java активно использует /dev/random
1 |
|
о чудо
Eclipse не тормозит (ну почти)
ssh хендшейки работают мнговенно (не совсем в тему, но все же)
Android лапочка просто ожил на древнем телефоне
люди еще много чего пишут
по мотивам сказок Братьев Гримм, для тех кто не читал)
ЗЫ: осталось добавить /etc/environment
_JAVA_OPTIONS="-XX:+UseParallelGC -XX:hashCode=5 -Xverify:none -Djava.net.preferIPv4Stack=true"
UPD: за -XX:hashCode спасибо @blackraven только не уверен, что оно работает)
All4DK 17.01.2013 17:19 #
+ 1 -
А можно подробнее описать всю эту магию и объяснить что и почему начинает работать быстрее?
в общих чертах, стандартный генератор случайных чисел работает не очень быстро. его меняют на менее "случайный", но более быстрый. это может негативно отразиться на приложениях использующих случайные числа для криптографических операций
А можно поподробней, как такое на android провернуть? :)
А вот тут написано, зачем же (один из случаев) джава его использует...
теперь вкратце весь прикол
друзья с xda завели гуглу баг в котором гугл говорит что он тут не причем, и вообще все это мракобесие)
реальность такова, что на самом деле для эффектов и прочей фигни, которой набит андроид /dev/random дергается довольно часто что и приводит к лагам, от которых, в то числе, они избавляются с каждым новым релизом. однако зоопарк софта не принадлежит гуглу и у меня лично телефон стал шустрее
для установки на андроид нужен рут, после чего можно вогнать apk-шку и все такое. на маркете умники уже выложили этот же apk за бабло. рут нужен все равно, но народ покупает и возмущается в тредах) в общем каждому свое...
для компа есть куча демонов софтовой энтропии с разной степенью качества генерации псевдослучайных последовательностей. для дома сгодится rng-tools. для серверной - он же со включенным hardware random generator, если такой присутствует на палате. простенькое описание есть на сайте gentoo. и да - жаба дышит легче, на xda чувак радовался за быстрые коннекты к Tomcat - так что замеры, замеры и еще раз замеры)
друзья с xda завели гуглу баг в котором гугл говорит что он тут не причем, и вообще все это мракобесие)
реальность такова, что на самом деле для эффектов и прочей фигни, которой набит андроид /dev/random дергается довольно часто что и приводит к лагам, от которых, в то числе, они избавляются с каждым новым релизом. однако зоопарк софта не принадлежит гуглу и у меня лично телефон стал шустрее
для установки на андроид нужен рут, после чего можно вогнать apk-шку и все такое. на маркете умники уже выложили этот же apk за бабло. рут нужен все равно, но народ покупает и возмущается в тредах) в общем каждому свое...
для компа есть куча демонов софтовой энтропии с разной степенью качества генерации псевдослучайных последовательностей. для дома сгодится rng-tools. для серверной - он же со включенным hardware random generator, если такой присутствует на палате. простенькое описание есть на сайте gentoo. и да - жаба дышит легче, на xda чувак радовался за быстрые коннекты к Tomcat - так что замеры, замеры и еще раз замеры)
А теперь внимание! Правильный ответ.
Естественно, ускорение никак не связано с генератором случайных чисел, а является неплохим вбросом, позволившим парням отлично навариться.
Ускорение андроида наблюдается, но связано оно не с подменой генератора, а постоянном дёргании процессора, вследствии чего тот не может понизить частоту и работает постоянно на полных оборотах.
Особенно доставляет ускорение _интерфейса_ андроида, который вообще не использует random.
Мало того! Программы на андроиде вообще не имеют доступа к /dev/random, поэтому никак не могут быть на него завязаны.
Естественно, ускорение никак не связано с генератором случайных чисел, а является неплохим вбросом, позволившим парням отлично навариться.
Ускорение андроида наблюдается, но связано оно не с подменой генератора, а постоянном дёргании процессора, вследствии чего тот не может понизить частоту и работает постоянно на полных оборотах.
Особенно доставляет ускорение _интерфейса_ андроида, который вообще не использует random.
Мало того! Программы на андроиде вообще не имеют доступа к /dev/random, поэтому никак не могут быть на него завязаны.
Также есть мнение, что генератор всё таки используется, например, для генерации хэш кодов объектов.
Доступа напрямую они к нему может и не имеют, но через какие-нибудь интерфейсы наверняка. Откуда тогда программы должны брать случайные числа, если они вдруг понадобятся?
Мало того! Программы на андроиде вообще не имеют доступа к /dev/random, поэтому никак не могут быть на него завязаны.
Доступа напрямую они к нему может и не имеют, но через какие-нибудь интерфейсы наверняка. Откуда тогда программы должны брать случайные числа, если они вдруг понадобятся?
Для генерации хэшей или UUID? Хэш вообще-то должен быть постоянен, а вот UUID вполне может юзать рандом. Но! Не так часто объекты создаются, чтобы тормозил весь интерфейс.
Программы используют АПИ, который, внезапно!, берёт случайный поток из /dev/urandom.
Программы используют АПИ, который, внезапно!, берёт случайный поток из /dev/urandom.
троллинга достаточно в гугл коде спасибо
для андроиду есть замены CPU на сайте автора и процессора никто не разгоняет.
для компьютера есть lsof /dev/random угадайте что он выводит при запущенном eclipse например
в том же треде на гугл кодек есть патч для input source использующий рандомизацию
ну и сторонний софт... в общем не стоит безаппеляционно делать такие заявления. замеры замеры замеры :-)
для андроиду есть замены CPU на сайте автора и процессора никто не разгоняет.
для компьютера есть lsof /dev/random угадайте что он выводит при запущенном eclipse например
в том же треде на гугл кодек есть патч для input source использующий рандомизацию
ну и сторонний софт... в общем не стоит безаппеляционно делать такие заявления. замеры замеры замеры :-)