|  | 
|  26.07.2012, 11:53 | #1 | 
| Участник | 
			
			Ясно... Да, жалко что нет инструмента копирования целиком табличного буфера без разделения на части или перепаковки. UPD: А такого инструмента наверное и не может быть. Ведь наверняка в общем случае буфер временной таблицы хранится фрагментированно совместно с другими данными в куче. И что бы передать его одним куском, этот один кусок сначала нужно собрать, на деле перепаковав табличный буфер в статическую непрерывную структуру вроде контейнера. Последний раз редактировалось S.Kuskov; 26.07.2012 в 12:09. | 
|  | 
|  26.07.2012, 12:17 | #2 | 
| Moderator | Цитата: 
		
			Сообщение от S.Kuskov
			   Ясно... Да, жалко что нет инструмента копирования целиком табличного буфера без разделения на части или перепаковки. UPD: А такого инструмента наверное и не может быть. Ведь наверняка в общем случае буфер временной таблицы хранится фрагментированно совместно с другими данными в куче. И что бы передать его одним куском, этот один кусок сначала нужно собрать, на деле перепаковав табличный буфер в статическую непрерывную структуру вроде контейнера. | 
|  | |
| За это сообщение автора поблагодарили: Logger (2). | |
|  26.07.2012, 12:31 | #3 | 
| Участник | 
			
			Это я уже понял. Просто хотел уточнить. Для того чтобы чохом передать нужно же и "чохом" хранить? Или не обязательно? Т.е. очень сомнительно, что за один "чох"   можно передать, например, динамическую структуру типа Map? Мне почему-то кажется что должно выполнятся условие размещения данных в одном передаваемом куске памяти. Я ошибаюсь? | 
|  | 
|  26.07.2012, 12:48 | #4 | 
| Участник | Цитата: 
		
			Сообщение от S.Kuskov
			   Это я уже понял. Просто хотел уточнить. Для того чтобы чохом передать нужно же и "чохом" хранить? Или не обязательно? Т.е. очень сомнительно, что за один "чох"   можно передать, например, динамическую структуру типа Map? Мне почему-то кажется что должно выполнятся условие размещения данных в одном передаваемом куске памяти. Я ошибаюсь? Либо в памяти (если не очень много успели записать  ), либо уже на диске, но все вместе Только RPC не надо идеализировать  Большие контейнеры тоже будут передавать не целиком за раз, а разбиваться на куски. Соответственно, дополнительных вызовов будет достаточно много. Но, в любом случае, таких обменов будет меньше, чем при условии передачи по каждой отдельной записи 
				__________________ Axapta v.3.0 sp5 kr2 | 
|  | 
|  26.07.2012, 13:32 | #5 | 
| Участник | Цитата: В любом случае, если бы была реализация копировани буфера временной таблицы на уровне ядра системы, то это бы помогло бы избежать ненужных накладных расходов на переупаковку данных и в тоже время не повысила бы Chattiness | 
|  | 
|  26.07.2012, 14:19 | #6 | 
| Участник | 
			
			Logger, я всё это прекрасно понимаю. Я лишь хотел убедится, что "НЕ элементарные" типы передать за один/два RPC вызова нельзя. Но после сообщения AndyD  хотелось бы убедится ещё и в том как именно хранится буфер временной таблицы в оперативной памяти. Как строка в одном месте или фрагментировано в разных связанных областях? Для общего развития так сказать. Просто когда представляешь себе как это там на самом деле всё происходит многие вещи становятся понятнее. Например почему таки нельзя просто взять и скопирования буфер временной таблицы так же как строку или контейнер? | 
|  | 
|  26.07.2012, 17:23 | #7 | 
| Участник | Цитата: | 
|  | 
|  | 
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
| 
 |