|
|
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Возник вопрос по поводу копирования коллекций. Для примера, есть коллекция вида: Код: plsql 1. 2. 3. Пусть в коллекции r_collect 100000 элементов. Делаю вторую точно такую же коллекцию r_collect2, и пишу следующее: Код: plsql 1. Так во вопрос. Первая коллекция копируется во вторую полностью? Все 100000 элементов? Или копируется только ссылка на область памяти? То есть фактически это будут не две разные области памяти, а одна область памяти с двумя ссылками на неё? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 09:00 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
IMNOТак во вопрос.Ты не умеешь поставить эксперимент? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 09:41 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
Я уже. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Ну то есть коллекция полностью копируется. Хотел получить подтверждение от более опытных людей. Это же получается, что на очень больших коллекциях, пока оракл будет копировать коллекцию, система и подвиснуть может. Опасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 09:47 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
IMNOЯ уже.И что ж ты узнал из своего нетленного теста? IMNOна очень больших коллекциях, пока оракл будет копировать коллекцию, система и подвиснуть может.А ты зря не копируй. Или работай пачками. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 10:03 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
IMNOподвиснутьКопирование гигабайта память-память занимает доли секунды. Читать гигабайт данных с диска несколько дольше, но это же не тебя не беспокоит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 10:11 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
ElicИ что ж ты узнал из своего нетленного теста?. Если бы вторая коллекция указывал на ту же область памти, что и первая, то запись: Код: plsql 1. 2. перезаписала бы значения и из первой коллекции. Во втором выводе тогда не выводились бы "1", только "2". -2-Копирование гигабайта память-память занимает доли секунды. Ну честно говоря, я даже не представляю сколько по времени будет копироваться 1 гигабайт. Сам факт обработки гигабайтов информации в памяти не кажется мне хорошей идеей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 10:16 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
IMNOЕсли бы вторая коллекция указывал на ту же область памти, что и перваяУ тебе серьёзные проблемы в основах, раз даже такую очевидность тебе приходится проверять. Про технологии "копирование при изменении" вообще бессмысленно говорить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 10:26 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
IMNOElicИ что ж ты узнал из своего нетленного теста?. Если бы вторая коллекция указывал на ту же область памти, что и первая, то запись: проверте в етот момент сразу после r_test2 := r_test1; и до r_test2(1).a := 2; ..... stax ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 10:31 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
StaxIMNOпропущено... Если бы вторая коллекция указывал на ту же область памти, что и первая, то запись: проверте в етот момент сразу после r_test2 := r_test1; и до r_test2(1).a := 2; ..... stax Ничего не понял. Что проверить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 10:37 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
Достаточно проверить занимаемую память ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 10:38 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
IMNOСам факт обработки гигабайтов информации в памяти не кажется мне хорошей идеей.Это не к форуму, а тому, кто тебя заставляет помещать в коллекцию миллионы элементов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 11:02 |
|
||
|
Копирование коллекций
|
|||
|---|---|---|---|
|
#18+
IMNOStaxпропущено... проверте в етот момент сразу после r_test2 := r_test1; и до r_test2(1).a := 2; ..... stax Ничего не понял. Что проверить? будут ли две разные области памяти, или одна область памяти с двумя ссылками на неё ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2018, 11:11 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39713396&tid=1883371]: |
0ms |
get settings: |
9ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 215ms |
| total: | 397ms |

| 0 / 0 |
