|
|
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
автор1) В общем случае, когда вы делаете select * в БД, то в момент его выполнения и даже в процессе выгрузки вам данных, БД может не знает конечный размер данных, его размер будет известен только после окончания выгрузке (это на стороне БД) И на клиенте, вы точно ни как это не сделаете (одним запросом) смотря как организован запрос. можно прочитав первую строку результата запроса узнать количество строк в запросе. и без count ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:29 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
chpashadenis111111chpasha, Внутри ArrayList есть Object[] ладно. давай по-другому: в какой книжке или в каком месте ты прочитал, что в списках нужно всегда задавать размер явно? и еще: какая ошибка происходит, когда ты не задаешь размер? у тебя программа начинает тормозить? Можно задавать, а можно и не задавать. Меня интересует как зделать правильно. Если COUNT занимает больше времени\ресурсов чем пересоздание массива, то тогда нет смысла все это делать. Но это мне нужно лично перепроверить. Начало топика было по MyBatis, Hibernate, EclipseLink Если они делают все "Правильно" тогда мне нет смысла в этом разбираться, а просто брать и использовать для моих выборок например MyBatis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:35 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Если они делают все "Правильно" тогда мне нет смысла в этом разбираться, а просто брать и использовать для моих выборок например MyBatis Пока ты ищешь в потёмках "правильность", другие уже саппортят код в продакшне. Не занимайся ерундой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:37 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Хорошо, всем спасибо за мнения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:39 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНе нужно. Операции с массивами реализованы на уровне CPU, поэтому ArrayList даёт фору всем остальным коллекциям. Плюс достаточно "агрессивная" политика при ресайзе. Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:40 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevПлюс достаточно "агрессивная" политика при ресайзе. Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно. Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:43 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
а сколько памяти нужно для чтения файла по-строчно в строку? а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:47 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадяа сколько памяти нужно для чтения файла по-строчно в строку? а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java Это вопрос к кому и зачем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:49 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяа сколько памяти нужно для чтения файла по-строчно в строку? а какие тормоза при этом, и тормоза не в файловой системе , а именно в работе со строками в java Это вопрос к кому и зачем? это к тому , что пересоздание строки и массива/листа одного поля ягоды ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:52 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Ну тогда уж говори СКОЛЬКО нужно. И какой размер файл. И как ты его читаешь. Выкладывай код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:56 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадяэто к тому , что пересоздание строки и массива/листа одного поля ягоды Сама операция - да. Итеративный процесс - нет. ArrayList прогрессивно расширяет массив с запасом. String только под текущие нужды. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 13:56 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Blazkowiczвадяэто к тому , что пересоздание строки и массива/листа одного поля ягоды Сама операция - да. Итеративный процесс - нет. ArrayList прогрессивно расширяет массив с запасом. String только под текущие нужды. дак вот вопрос и возникает когда выгодно использовать тот или иной подход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:00 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Leonid KudryavtsevНу тогда уж говори СКОЛЬКО нужно. И какой размер файл. И как ты его читаешь. Выкладывай код. я эту проблему решил, вопрос в подходе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:02 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
вадядак вот вопрос и возникает когда выгодно использовать тот или иной подход. Вопроса не вижу. Одни утверждения. О каких подходах речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:03 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
1) String разве что-то расширяет? Расширяет StringBuilder / StringBuffer. И вроде, так же достаточно агрессивно. Т.ч. медленно, но ДИКИХ тормозов быть не должно. 2) фраза "читать файл построчно" - заставляет подозревать, что тут и так уже тормоз а "читать файл построчно в строку" - вообще масло-масленное. 3) Не указано, как идет работа с файловой системой. Через какой класс. Какой размер буфера (и сделал ли его автор вообще). В общем, проблема с "в работе со строками в java" не раскрыта. P.S. За реализацию String и "работу со строками" так же поубивал бы создателей. Одно их спасает, создателей java DateTime я бы не просто убивал, а убивал бы изощренно медленно. Т.ч. до создателей String руки могли бы и не дойти ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:04 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
BlazkowiczLeonid KudryavtsevПлюс достаточно "агрессивная" политика при ресайзе. Но поскольку память никому не жалко и на фоне обычных "потерь" памяти при работе с огромным кол-вом объектов это копейки - в целом, обычно, не важно. Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было. В меня выборки по 7000-50000 рядков ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:08 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111Blazkowiczпропущено... Да, сколько там той памяти нужно? Во-первых вряд ли там у Дениса тысячные массивы. Во-вторых GC это всё барахло соберёт предельно эффективно и даже не заметит сколько его там было. В меня выборки по 7000-50000 рядков а вот тут возникает другой вопрос - нафига тебе столько строк гнать из бызы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:11 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111В меня выборки по 7000-50000 рядков I. По времени работы: 1.1. подсчитать сколько раз будет выполняться ресайз 1.2. сколько времени он занимает 1.3. сколько времени занимает SELECT count(*) II. По памяти: 1.1. Сколько будет перерасход памяти на коллекции 1.2. Сколько будет ОБЩЕЕ потребление памяти ArraList + сохраненные элементы 1.3. Сколько в процентах будет п.1. к общему потреблению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:20 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
зачем 50000 строк на клиенте? в них искать? сортировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 14:23 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Да какая разница зачем эти ~100k строк на клиента утащили??? Накойхер (фамилие такой) оптимизировать эту сопельную задачу, дважды напрягая сервер одним и тем же запросом?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 16:25 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
Basil A. SidorovДа какая разница зачем эти ~100k строк на клиента утащили??? Накойхер (фамилие такой) оптимизировать эту сопельную задачу, дважды напрягая сервер одним и тем же запросом?! меня как то на собесе спросили, допустим, у тебя есть аррайлист размером 4 гигабайта, каким образом ты бы его отсортировал? я аж как то даже подрастерялся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:06 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
100k и 1000M - даже не три порядка разницы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:09 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
lor2меня как то на собесе спросили, допустим, у тебя есть аррайлист размером 4 гигабайта, каким образом ты бы его отсортировал? я аж как то даже подрастерялся. При такой постановке вопроса хоть пузырьком. Всё же зависит от ограничений. Вероятно вопрос идёт об оптимизации процесса по времени? Тогда, вероятно, процесс нужно векторизировать. А для этого хорошо подходит, например, merge sort. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:14 |
|
||
|
Вопрос по ORM
|
|||
|---|---|---|---|
|
#18+
denis111111В меня выборки по 7000-50000 рядков Ну, отлично. Поставь туда 7000 и забудь. Сколько у тебя таких выборок живет в памяти одновременно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2016, 18:16 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39184917&tid=2124302]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 248ms |
| total: | 418ms |

| 0 / 0 |
