|
|
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Вот здесь говорят что JMH под макосью статистику не собирает - нужен perf. Однако интересен вот этот ответ: If you're ok with disabling macOS kernel security (loading only signed kernel module), you can use Intel Performance Counter Monitor . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:16 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Вот что из "проговорённого" вы уже проверили на своей системе? Да пять минут гуглежа без единого вопроса на форуме полноценно загружают рабочий день человека, которому интересно решить свою задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:22 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Если бы никто не задавал вопросов на форуме то и гуглешь бы не помог. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:25 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
HettМожно виртуалку поставить и там запустить. Думаю что виртуалка нам покажет парадоксальный результат. Нам сложно будет отделить эффект влияния гостевой ОС на кеш L3 от нашего полезного эффекта от приложения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:26 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
"Нет, вы посмотрите на этого поца ..." Мне, значит, помог, а ему, видите ли - нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:26 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Basil A. Sidorov"Нет, вы посмотрите на этого поца ..." Мне, значит, помог, а ему, видите ли - нет. Боюсь спросить, кто Вам помог ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:28 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
semensemenovichБоюсь спросить, кто Вам помог ? Следите за рукамиКогда вы соизволили уточнить, что у вас - MacOS X, я спросил у гугла "FreeBSD CPU Counter". В первом десятке ссылок было две результативные: 1. Штатный PMC: может не быть в MacOS X или его функционала недостаточно, но это уже вам проверять - я быстренько пробежался по man-страничкам; 2. Intel VTune, о котором вам уже говорили. Я пробежался по списку изменений и обнаружил запись "с версии такой-то совместим с макосью версии сякой-то". Опять-таки - вам проверять. P.S. Могу обоснованно предположить, что если бы на форумах было меньше идиотских вопросов, то выдача гугла была бы ещё более результативной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:39 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovsemensemenovichБоюсь спросить, кто Вам помог ? Следите за рукамиКогда вы соизволили уточнить, что у вас - MacOS X, я спросил у гугла "FreeBSD CPU Counter". В первом десятке ссылок было две результативные: 1. Штатный PMC: может не быть в MacOS X или его функционала недостаточно, но это уже вам проверять - я быстренько пробежался по man-страничкам; 2. Intel VTune, о котором вам уже говорили. Я пробежался по списку изменений и обнаружил запись "с версии такой-то совместим с макосью версии сякой-то". Опять-таки - вам проверять. P.S. Могу обоснованно предположить, что если бы на форумах было меньше идиотских вопросов, то выдача гугла была бы ещё более результативной. Я призываю лично Вас не реагировать больше на мои посты в форуме. Форум публичный - я как и все буду постить вопросы. Но лично Вы обходите их стороной. Никто Вас лично не заставляет мне отвечать и чего то там гуглить. Не нравится вопрос, идиотский, ткнули в другую тему форума и жизнь стала немного светлее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:46 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
semensemenovichЯ призываю лично Вас не реагировать больше на мои посты в форуме"Не указывайте мне, что я должен делать и я не стану объяснять, куда вам надо пройти". Так доходчивее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:48 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovsemensemenovichЯ призываю лично Вас не реагировать больше на мои посты в форуме"Не указывайте мне, что я должен делать и я не стану объяснять, куда вам надо пройти". Так доходчивее? Я не указываю, я призываю. Нормальный человек стороной обходит идиотские вопросы я не разводит соплями по стеклу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.08.2017, 22:49 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
chabapokфлирт с намеками. Очень красиво пишите))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2017, 07:27 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
semensemenovichНормальный человек стороной обходит идиотские вопросы я не разводит соплями по стеклу. Вот и я говорил что не получится. Закатываешься истерикой по каждому коментарию. Не нравятся ответы - не отвечай, а то развел своих соплей на весь форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2017, 08:31 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Вы бы хоть набросали код какой оптимизируете в джава по кэш миссам. А то оптимизируете оптимизируете, и тут бац надо посчитать как на оптимизировали, и на оптимизировали ли вовсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2017, 20:45 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
no56892Вы бы хоть набросали код какой оптимизируете в джава по кэш миссам. А то оптимизируете оптимизируете, и тут бац надо посчитать как на оптимизировали, и на оптимизировали ли вовсе. Местные гуру запинали меня ногами. На этом форуме можно только идиотские вопросы про Java.util.properties задавать про джарники в джейбосе и прочую фигню - такая лажа тут в почете и корифеи с удовольствием подтирают джунам *ады. Мой вопрос местные карифаны не оценили Так что не будет Вам никакого кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2017, 21:25 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
no56892Вы бы хоть набросали код какой оптимизируете в джава по кэш миссам. А то оптимизируете оптимизируете, и тут бац надо посчитать как на оптимизировали, и на оптимизировали ли вовсе. Недавно просматривал статьи по SLRU, 2Q, ARC, e.t.c. и заметил что все методы "эффективного кеширования" не имеют никакой общей теоретической формулы эффективности. Во всех случаях авторы брали какие-то конкретные данные из внешнего мира. Файлы в файловой системе. URL-s на прокси или в игровом клиенте. Тоесть говорить к примеру о том что 2Q лучше LRU можно только после прогона на реальных выборках. С повторами... характерными для веб-сервинга, актокорреляциями и прочее. Мне кажется что тут есть аналогия с топиком. Мы не можем просто говорить о том что где-то в космосе существует стек аппаратных кешей и мы кодим исходя из cache friendly. Некоторые отсылки к кешам есть в семинаре по Disruptor . Но дизраптор это та еще херня. Попробуй его натянуть на реальное приложение. Бесконечный тюннинг получается. Тут подкрутил - там упало. А может Unsafe memory как в Hazelcast ? Вариант! Но кто этот Хозел-Каст купил с лицензией и отреверс-инжинерит? Или кто исходники Apache Cassandra разберет? Чтоб проанализировать юзает ли эта тётка cache-friendly или нет. Из практики БД еще пример. Ты тут из кожи вон лез... оптимизировал аналитический SQL query. Скобками его загнал в определенный order joins. Хинтов добавил. Пабеда! Быстро летает ночью. День начинается и капец. Конкуренция sessions. Бафер пул "вымывается" другими query. Фигли.. у тебя индексных чтений больше. Всё затормозило и сдулось. А прерыдущий план - вообще по дискам бегал. Мультиблочным. Медленнее данные собирал но никому не конкурировал. И нахер тогда я старался? Директивно всё оптимизировал когда все по дефолту прилично работало. По рукам себя линейкой.... Вобщем сорян за лирическое отступление. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.08.2017, 22:14 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
maytonsemensemenovichпропущено... Какая из этих структур наиболее эффективно дает использование кешей CPU (минимизирует CACHE MISSES) Ну...я-бы взял Array т.к. есть больше гарантий что соседние элементы (если они примитивы) располагаются рядышком в адресной памяти и соотв у меня больше контроля над ситуацией. .... 1) послать в топку стандартные коллекции, взять http://fastutil.di.unimi.it/ IMHO в 95% случаев нужны/требуются именно примитивные типы. При боксинге/un-боксинге говорить о производительности просто неприлично. 2) если работа с датами - то joda time. Говорить о производительности вычислений с датами при immutable типах просто неприлично. У joda тоже не все хорошо со скорости, сериализация/десериализия timestimp сделана через одно место AFAIK. Хотел переписать, но руки не дошли. 3) Очень жаль, что нет нормального способа java String туда же (в топку) послать (((, многие с java String через unsafe работают... но на мой взгляд это совсем извращение, пытался код из И-нета повторить - от смены версии java все начинает падать....unsafe он и есть unsafe. IMHO & AFAIK как-то так, а уж потом промахи кэша В JAVA смотреть. Смысла смотреть промахи кэша (за исключением synchronize/Lock/Atomic) - не вижу. Ну посмотрел ты на них и что? Есть промахи кеша, есть промахи предсказателя переходов, есть ошибки TLB ... повлиять в коде то все равно на них никак не можешь (можно частично повлиять настройками командной строки JVM). А 95 % времени можно терять ни в прикладном коде, а в JVM, GC или вообще где нибудь в между-thread пространстве. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 00:07 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
semensemenovichЯ просто думал что коллеги как то мониторят такие счетчики под макосью и всего то просил поделиться как :) Я был в курсе про Intel VM Analyzer, был в курсе про FreeBsd Counters; Про команду perf под Linux не слышал - спасибо. Но дело в том что у меня MacBook. .... Может быть с этого стоило начинать? В первом посте есть слова Java, но вот о mac'е нет ни слова. а то как в анекдоте "сколько программистов нужно, что бы вкрутить лампочку? Ни одного, it is a hardware problem". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 00:14 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Leonid Kudryavtsev, Возникли следующие мысли: 1. Наш сферический алгоритм в вакууме (далее САВ ) должен иметь понятие о том в окружение какого железа он существует. Cortex? Intel? Amd? Здесь надо признать что мы делаем шаг в сторону от классического java кодинга и пытаемся приоткрыть занавес платформы. 2. После того как мы получили тип железа - мы далжны собрать максимум сведений о топологии кешей и о всех их количественных Характеристиках. Чуть позже я приаттачу поясняющую картинку. 3. Мы должны ввести в САВ вектор параметров который даст нём возможность регулировать влияние на каши и топологию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 09:52 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevМожет быть с этого стоило начинать? В первом посте есть слова Java, но вот о mac'е нет ни слова. а то как в анекдоте "сколько программистов нужно, что бы вкрутить лампочку? Ни одного, it is a hardware problem". А типа это бы как то помогло ))) Единственный кто примерно тут указал как это делается для MAC - это был я (погуглил и скинул линку) )))) Остальные КОНСТРУКТИВНЫЕ ответы были для Linux и FreeBsd. То есть народ вообщем не особо в курсе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 11:24 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
semensemenovichТо есть народ вообщем не особо в курсе. Потому что оно нахрен никому не нужно и к Java отношения не имеет. Кому вообще упал fine tuning под процессор на Java под десктопную платформу? JIT в следующей версии поменяется и все ваши оптимизации пойдут лесом. Зачем выжимать что-то из десктопного CPU вообще загадка. Вопрос про MacBook вообще убил. Вы многопользовательские сервера на них хостите? Или big data обсчитываете? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 11:36 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
BlazkowiczsemensemenovichТо есть народ вообщем не особо в курсе. Потому что оно нахрен никому не нужно и к Java отношения не имеет. Кому вообще упал fine tuning под процессор на Java под десктопную платформу? JIT в следующей версии поменяется и все ваши оптимизации пойдут лесом. Зачем выжимать что-то из десктопного CPU вообще загадка. Вопрос про MacBook вообще убил. Вы многопользовательские сервера на них хостите? Или big data обсчитываете? У тебя там джун в соседней ветке никак не может java.util.Properties сконфигурить - отправляйся как ты туда экспертизу повышать, тем более как ты сам сказал BlazkowiczПотому что оно нахрен никому не нужно А здесь, быть может, появятся люди которым это таки нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 11:38 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
semensemenovichМестные гуру запинали меня ногами. Вы им льстите. semensemenovichНа этом форуме можно только идиотские вопросы про Java.util.properties задавать про джарники в джейбосе и прочую фигню - такая лажа тут в почете и корифеи с удовольствием подтирают джунам *ады. Невероятно. На форуме по Java обсуждают Java API, а не макось. Вот так неожиданность. semensemenovichМой вопрос местные карифаны не оценили Мммм. Какой крутой вопрос. Апплодисменты. Побольше бы таких крутых вопросов. Только в профильном бы форуме. semensemenovichТак что не будет Вам никакого кода. Обидели мышку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 11:39 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
semensemenovichУ тебя там джун в соседней ветке никак не может java.util.Properties сконфигурить - отправляйся как ты туда экспертизу повышать, тем более как ты сам сказал Я там уже всё разрулил. У меня в этой ветке истерику никак не свернут. semensemenovichА здесь, быть может, появятся люди которым это таки нужно. Они уже на подходе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 11:44 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
BlazkowiczЯ там уже всё разрулил. Хороший мальчик, возьми с полки пирожок. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.08.2017, 12:34 |
|
||
|
Cache miss/hit detector in Java
|
|||
|---|---|---|---|
|
#18+
Пару лет назад 18093734 я поднимал тему трех бенчмарков. В разрезе популярных ЯП (C++/Python/Delphi/C# e.t.c) и изначально заданными задачами. А именно: 1) CPU 2) Доступ к памяти 3) Производительность I/O Из всех трех удалось реализовать только первый (CPU). Бенчмарк граф. алгоритма трассировки луча с использованием вещественных чисел. Фактически нужный код был написан. Спасибо сообществу. Остались неоконченными универсальные shell-скрипты для тестинга всех ЯП на всех платформах. Эта цель так и осталась целью. Что впрочем не мешало активным мемберам тихонько тестить 2-3 разных ЯП на своих конфигурациях и репортить таблички с отчотами. Отчоты пролили много интересных фактов. Как например провальные результаты Python по сравнению с другими системами. Это кстати ставит под сомнение тезис Зимаргла к том что Python быстрее чем "C" и тезис другого чела в ПТ который доказывал что строки в Python это самые быстрые строки в мире ... впрочем кто это был я забыл да и топик уже не помню. Приятно также порадовал компиллятор Rust который в рамках небольших погрешностей был где-то быстрее чем С/C++ реализации. Но остались еще 2 теста которые я так и не смог сформулировать в виде постановки. И мой интерес к этому топику возник именно в разрее теста номер (2). Я долго думал какую постановку взять для тестирования бенчмарков по memory но так и не придумал. Мне нужны были алгоритмы которые мощно и равномерно грузят полный диапазон бортовой памяти вашей рабочей станции или сервера (2/4/8/16G) и не только диапазон но и также интенсивные аллокации-деаллокации (malloc/free, new/delete e.t.c.). И здесь алгоритмы сортировки не подходили. Они обычно не используют явные аллокации-деаллокации и соотв мой тест был-бы не полным. Как вариант я рассматривал реализации кешей (LRU/2Q/MQ/ARC) + некая гипотетическая задача которая будет делать интенсивные поисковые операции по кешам. Например поиск пароля по хешу. Ну ... что-то вроде rainbow-table (по сабжу я не знаю пока как работает радужня табличка но надеюсь что ей полюбому нужен какой-то доступ к дисковым хранилищам уже расчитанных хешей объем которых уже давно превысил оперативку. Это как раз удобная постановка для кеша). Сюда-же можно включить несколько бенчмарков. 1) Рост кеша (population) 2) Стационарная фаза (обычная работа) 3) Деградация (вытеснение старых ключей полностью новыми) Но вобщем-то если у кого-то будут мысли - то пишите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.08.2017, 15:00 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39506177&tid=2122635]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
38ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 328ms |

| 0 / 0 |
