Несколько тысяч объектов и оперативная память
Простенький объект Session, который хранит ID, ссылку на активное socket-соединение и, например, время последнего обращения.
Что-то такое : {ID, socket, lastTime} Было бы логично прямо в этом объекте добавить несколько методов (например 100-200 строк кода). Но не будет ли это затратным с точки зрения использования ресурсов сервера? Если этих объектов будет несколько сотен или тысяч. Или правильнее создать отдельный модуль для работы с этим объектом, а в самом объекте только данные. |
но совсем понятно что точно хотите, но методы лучше хранить на прототипе.
|
Цитата:
Проектирую объект, который будет существовать в большом количестве экземпляров. Не будет ли полезным и целесообразным вынести код из него в отдельный модуль в целях оптимизации... |
Вынести код из объекта?
глянуть пример можно, что за объект и что хотите выносить |
yinfo, вы буквально объект хотите использовать или все же класс?
Если это будет класс, то можно создавать любое кол-во методов, они не будут дублироваться в памяти для каждого экземпляра. |
Цитата:
module.exports = class SocketSession { constructor(socket, sessionId, user) { this.sessionId = sessionId this.socket = socket this.user = user } } "они не будут дублироваться в памяти для каждого экземпляра" - собственно это я и хотел услышать, спасибо. |
А почему class es6, а экспорт es5? )
|
Цитата:
|
Цитата:
export class SocketSession { ^^^^^^ SyntaxError: Unexpected token export Хотя в настройках Webstorm указан ES6 |
нужен babel с каким-нибудь пресетом ) типа es2015, stage-0 и т.д.
|
Часовой пояс GMT +3, время: 05:14. |