я тоже первым делом подумал про BiMultimap, а ответа не понял — какого именно метода не хватает?
put и getValues тривиально
findValues(List labels) — Multimaps.filterValues(objectToLabel, Predicates.in(labels)).getKeys()
и т.п.
да, согласен, этот мой печальный опыт был во времена молодого пхп 4.3, забавно, что за прошедшие 10 лет принципиальных улучшений не произошло — топикстартер воюет все с теми же граблями.
удивительно было какой сильный эффект это давало в то время, казалось бы такой шаг минификации пхп мог бы и сам сделать в момент чтения к примеру.
на тему необычности — меня в свое время гораздо больше порадовало, что можно добиться существенного ускорения пхп за счет минимизации кода (как в джаваскрипте — выкидываем проблеы лишние, сокращаем локальные переменные и т.п.) — тупо парсеру нужно будет читать меньше данных
посмотрите Effective Java Блоха (имхо должна быть настольной книгой каждого джава дева) там есть и определение неизменяемого класса и объяснения почему это важно
в частности, без final на полях Вы не получите от JVM тех же гарантий видимости для многопоточного кода
А если нет желания тащить весь lombok, можно использовать github.com/google/auto
билдера пока нет, но должен когда-нибудь появиться — было бы логичным развитием
статику можно (и нужно) разложить на cdn и логгировать там (на уровне nginx), это дополнительно размадет обращения к диску (да и single point of failure уберет)
логи потом можно сливать в один большой, препроцессить хадупом (сливая вместе запросы к p.gif) и класть например в Cloud Storage
тогда все отчеты можно было бы получать простыми sql-like запросами BigQuery
Work profile на андроид примерно это и делает: https://help.kaspersky.com/KESMob/10SP4/ru-RU/140468.htm
Но по-моему нужно, чтобы работодатель это поддерживал
Вы не писали, зачем вы это делаете — для прод системы? Логичнее было бы БД использовать. В любом случае распределенная система по-хорошему нужна.
put и getValues тривиально
findValues(List labels) — Multimaps.filterValues(objectToLabel, Predicates.in(labels)).getKeys()
и т.п.
удивительно было какой сильный эффект это давало в то время, казалось бы такой шаг минификации пхп мог бы и сам сделать в момент чтения к примеру.
в частности, без final на полях Вы не получите от JVM тех же гарантий видимости для многопоточного кода
билдера пока нет, но должен когда-нибудь появиться — было бы логичным развитием
логи потом можно сливать в один большой, препроцессить хадупом (сливая вместе запросы к p.gif) и класть например в Cloud Storage
тогда все отчеты можно было бы получать простыми sql-like запросами BigQuery
если я правильно понимаю, OS аналог dremel это drill: www.quora.com/Dremel/What-are-usage-scenarios-for-Apache-Drill
опять же если я правильно понял вот эту презентацию www.slideshare.net/HiveData/apache-drilltalk-thehive
то drill по скорости наравне с impala, а hive+tez немного отстают
можно решить при помощи таких инструментов как BigQuery
см white paper
www.youtube.com/watch?v=u3y9JdW0HNI
по поводу хрома — причем здесь хром? вроде и в ФФ работает: www.youtube.com/watch?v=Eb-VbdNgRuw