|
|
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
maytonА мы тебе просто dbms присоветуем. Хорошую. С малой латентностью Ага, стебелек от РСтудио )) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 23:27 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Нихт! Будет настоящее ТруТь джава-энкодед софтваре. Колись давай что за задача? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2014, 23:48 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
maytonКолись давай что за задача? NDA ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 00:09 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
З.ы. а есть смысл кусок проги на сях переписать, при том что взаимодействие с джавовским кодом будет интенсивное, при этом двухстороннее? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 00:12 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNmaytonКолись давай что за задача? NDA Чо? Notre Dame Academy? Налоговый депертамент Аламаты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 00:51 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNЗ.ы. а есть смысл кусок проги на сях переписать, при том что взаимодействие с джавовским кодом будет интенсивное, при этом двухстороннее? а что на сях два байта в один влазят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 02:47 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
забыл никZyK_BotaNЗ.ы. а есть смысл кусок проги на сях переписать, при том что взаимодействие с джавовским кодом будет интенсивное, при этом двухстороннее? а что на сях два байта в один влазят? Ну с памятью поэффективней можно работать чем в джаве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 02:50 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
ZyK_BotaNзабыл никпропущено... а что на сях два байта в один влазят? Ну с памятью поэффективней можно работать чем в джаве. Так вы определитесь, дорогой друг, вам все-таки скорость важна или количество занимаемой памяти. То вы утверждали что количество, теперь вот хотите на си переписать, что-то вы мутите. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 03:01 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
забыл никZyK_BotaNпропущено... Ну с памятью поэффективней можно работать чем в джаве. Так вы определитесь, дорогой друг, вам все-таки скорость важна или количество занимаемой памяти. То вы утверждали что количество, теперь вот хотите на си переписать, что-то вы мутите. я имел ввиду эффективность по работе с памятью ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 03:07 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Миллионы маленьких коллекций - признак неправильной структуры данных. Как уже оценивали, большого выигрыша все равно не получить. Надо менять местами уровни - так же как в вложенных циклах, наверху должно быть минимальное число итераций. Надо менять коллекцию из миллиона Map на один Map с коллекциями ( а лучше массивами, идеально массивами примитивов ) внутри. Не зная задачи, подсказать ничего нельзя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 08:46 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Миллионы маленьких коллекций - можно заменить на одну большую ? с хорошими ключами и хорошей хеш функцией (тут вам придется подумать самому, но это того стоит)? Если да то посмотрите - в сторону Redis http://ru.wikipedia.org/wiki/Redis Или ему подобных написанных на java ( Хотя Redis просто идеален для вас ! я пока не вижу разницы между Миллионы маленьких коллекций и одной большой ! тем более в одном потоке!) Если нужно хранить данные на диске - возьмите MongoDB . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 10:27 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
IMHO для небольшого числа объектов самое эффективная коллекция это - Object[] в котором четные это ключи, нечетные значения. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 11:54 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
автор предлагает гадать на кофейной гуще?;) В гугле доступно, какая коллекция для чего подходит и занимается при росте числа элементов меньше памяти. я так понимаю, у автора таки больше проблема с архитектурой, а не выбором коллекции?:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 14:02 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Автор просто капризничает. Птичьего молока ему видите-ли.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 15:26 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
maytonАвтор просто капризничает. Птичьего молока ему видите-ли.... Тоже так подумал. Оперативы дешевле прикупить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 15:48 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Вариант - использовать hsqldb с размещением в памяти, Set и Map в чистом виде не будет, но по доступу будет аналог, и очень быстрый, при наличии соответствующих индексов. Молжно, конечно, замепить всё через ORM, но поскольку речь идет об ограничении по памяти, то вряд ли поможет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 16:51 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
ivanraВариант - использовать hsqldb с размещением в памяти, Set и Map в чистом виде не будет, но по доступу будет аналог, и очень быстрый, при наличии соответствующих индексов. Молжно, конечно, замепить всё через ORM, но поскольку речь идет об ограничении по памяти, то вряд ли поможет.А зачем использовать SQL-движок для кейса, где нет SQL? :-) Тогда уж надо какую-нибудь распределенную hashtable брать. Из опенсорсных: https://github.com/hazelcast https://github.com/gridgain Там и партицирование есть, и в офхип можно данные засунуть, и SQL запросы погонять можно (если очень приспичило), и т.д.. А вообще, проблема автора сейчас звучит примерно так: "Мои объекты не влехают в хип. Что мне делать?" Сложно рассчитыать на какой-то конкретный ответ при таком низком уровне детализации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:00 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Насчет скорости и объема данных < 10 объектов. При 10 объектов, последовательный перебор может быть БЫСТРЕЕ, чем двоичный поиск и другие "правильные" алгоритмы. Кол-во операций сравнения конечно больше ))), но ведь никто не говорил, что они одинаковые.... Грубо говоря, если сложность алгоритма при двоичном поиске O1*log2(N), а последовательный перебор O2*N, то В РЕАЛЬНОЙ жизни, при небольших N, возможно, что последовательный перебор будет быстрее. Т.к. O2 обычно _значительно_ быстрее O1. Т.ч. IMHO при 10 объекта - тупо array и выкинуть всякие Map нафик. IMHO & AFAIK ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:01 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Да, и в этих продуктах, разумеется, можно прозрачно свопить данные на диск, если количество оперативы ну никак не увеличить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:01 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevТ.ч. IMHO при 10 объекта - тупо array и выкинуть всякие Map нафик.ТС уже пробовал это делать, используя ArrayMap, которая по сути и является плоским массивом. С его слов, не помогло. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:02 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
cdtyjvivanraВариант - использовать hsqldb с размещением в памяти, Set и Map в чистом виде не будет, но по доступу будет аналог, и очень быстрый, при наличии соответствующих индексов. Молжно, конечно, замепить всё через ORM, но поскольку речь идет об ограничении по памяти, то вряд ли поможет.А зачем использовать SQL-движок для кейса, где нет SQL? :-) SQL тут в качестве дополнительного бонуса. Эксплуатируем тот факт, что dbms имеют всяческие оптимизации по использованию памяти для хранения данных и индексов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:09 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Overhead на объектную модель крайне не мал. Точнее, на объектный String. или своя реализация String или своя реализация CharSequence. По логике, вроде CharSequence самое то, но половина методов на входе ждеть String ((( Т.ч. будет постоянное приведения типов. Проше на C кусок написать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:34 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevOverhead на объектную модель крайне не мал. Точнее, на объектный String. А String тут при чем? Leonid Kudryavtsevили своя реализация String или своя реализация CharSequence. По логике, вроде CharSequence самое то, но половина методов на входе ждеть String ((( Т.ч. будет постоянное приведения типов. Проше на C кусок написать. Если из Unicode пространства String переместиться в ASCII и byte[], то экономия будет колоссальная. Вот только какое это имеет отношение к теме? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:39 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
BlazkowiczА String тут при чем? 15786654 з.ы. а вообще, я ржу со своего вопроса. действительно овчинка выделки не стоит, с этими оптимизациями. не туда смотрю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 17:44 |
|
||
|
Оптимальные раелизации Set и Map по памяти
|
|||
|---|---|---|---|
|
#18+
Для любого мьсе желающего всяких развлечений и жареных курочек есть список: Compare NoSQL Databases http://nosql.findthebest.com/d/i/Java Там тебе и key-value, и column, и document и graph. Ну вобщем - выбирай-не-хочу. И грань между memory и file стирается когда мы имеем дело с хорошим SSD. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2014, 18:15 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38597214&tid=2127432]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
361ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 263ms |
| total: | 747ms |

| 0 / 0 |
