The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Оптимизация и Промышленные системы (Увеличение масштабируемости)
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Можно ли создавать множество контекстов для библиотеки?, alexraynepe196 (ok), 12-Окт-20, (0) [смотреть все] +2

Сообщения [Сортировка по времени | RSS]


1. "Можно ли создавать множество контекстов для библиотеки?"  +1 +/
Сообщение от Аноним (-), 14-Окт-20, 19:08 
Слова вроде бы знакомые, а о чем речь вообще непонятно
Ответить | Правка | Наверх | Cообщить модератору

2. "Можно ли создавать множество контекстов для библиотеки?"  +/
Сообщение от alexrayneemail (?), 14-Ноя-20, 13:21 
> Слова вроде бы знакомые, а о чем речь вообще непонятно

да, действительно неясно.
1) есть некая библиотека моделирующая некое устройство - дллка, или sharedobject
2) в среде эмулятора надо загрузить и смоделировать множество экземпляров устройств - больше 100 или 1000 скажем.
3) в текущей реализации загружается библиотека, а для каждого экземпляра хранится копия области данных используемая библиотекой. Исполняемый код остается общим. Для выполнения кода над конкретным экземпляром - область данных библиотеки перезаписывается из контейнера экземпляра.

Сейчас переключение экземпляра очень затратно - скопировать 30-60кБ данных надо, чтобы выполнить кода на сотню тактов. более 95% времени занимает это копирование.

Единственное решение обойти это место, я пока нашел - скопировать файл библиотеки в несколько независимых, и загружать эти библиотеки как независимые, получится одна библиотека/одоно устройство.

MMU современных процессоров с другой стороны просто предназначено для решения подобных задач - достаточно создать несколько сегментов данных - по одному на каждое устройство, и переключать эти сегменты при исполнении одного общего сегмента кода. Но как это сделать реально?
Вродебы это операционная система проделывает при использовании разделяемой библиотеки для разных процессов. НО как это сделать в рамках одного процесса?

Ответить | Правка | Наверх | Cообщить модератору

3. "Можно ли создавать множество контекстов для библиотеки?"  +/
Сообщение от Брат Анон (ok), 19-Ноя-20, 09:20 
>[оверквотинг удален]
> да, действительно неясно.

Если либа оперирует синглетоном -- тогда непонятно зачем вообще что-либо копировать. Если либа предоставляет конструктор индивидуальных объектов -- тогда пробуйте ссылку на объект создавать. Если жаба это умеет (спойлер: убейте жабу).

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру