Сообщение Re: Оптимизация строк от 12.04.2019 7:42
Изменено 12.04.2019 7:43 VladCore
Re: Оптимизация строк
Здравствуйте, #John, Вы писали:
J>Здравсвуйте,
J>На ПК-сервере есть 4GB оперативки, .net core приложение.
J>Все эти объекты хранятся в памяти и больше не меняются. Надо соптимизировать поиск данных
Используйте BinarySearch вместо Set-ов и Dictionary. Памяти будет В РАЗЫ меньше, а производительность такая же. String.Intern это второе. Да ещё и один глобюальный на всё.
J> и колличество исспользуемой памяти.
Не храните дважды "одинаковые" стрики и объекты.
J>Есть несколько идей:
J>1. В классе `Bar`, `Name` сделать `int` типом и добавить соответствующий `CoolName` класс.
J>[cs]
J>class Bar {
J> public Name {get; set;}
J>}
J>class CoolName{
J> public int Id {get;set;}
J> public string Name {get; set;}
J>}
Ну так себе. Может жутко тормозить — вы же все гигабайты в ОДНУ коллекцию засуните.
J>Здравсвуйте,
J>На ПК-сервере есть 4GB оперативки, .net core приложение.
J>Все эти объекты хранятся в памяти и больше не меняются. Надо соптимизировать поиск данных
Используйте BinarySearch вместо Set-ов и Dictionary. Памяти будет В РАЗЫ меньше, а производительность такая же. String.Intern это второе. Да ещё и один глобюальный на всё.
J> и колличество исспользуемой памяти.
Не храните дважды "одинаковые" стрики и объекты.
J>Есть несколько идей:
J>1. В классе `Bar`, `Name` сделать `int` типом и добавить соответствующий `CoolName` класс.
J>[cs]
J>class Bar {
J> public Name {get; set;}
J>}
J>class CoolName{
J> public int Id {get;set;}
J> public string Name {get; set;}
J>}
Ну так себе. Может жутко тормозить — вы же все гигабайты в ОДНУ коллекцию засуните.
Re: Оптимизация строк
Здравствуйте, #John, Вы писали:
J>Здравсвуйте,
J>На ПК-сервере есть 4GB оперативки, .net core приложение.
J>Все эти объекты хранятся в памяти и больше не меняются. Надо соптимизировать поиск данных
Используйте BinarySearch вместо Set-ов и Dictionary. Памяти будет В РАЗЫ меньше потреблять, а производительность такая же. String.Intern это второе. Да ещё и один глобюальный на всё.
J> и колличество исспользуемой памяти.
Не храните дважды "одинаковые" стрики и объекты.
J>Есть несколько идей:
J>1. В классе `Bar`, `Name` сделать `int` типом и добавить соответствующий `CoolName` класс.
J>[cs]
J>class Bar {
J> public Name {get; set;}
J>}
J>class CoolName{
J> public int Id {get;set;}
J> public string Name {get; set;}
J>}
Ну так себе. Может жутко тормозить — вы же все гигабайты в ОДНУ коллекцию засуните.
J>Здравсвуйте,
J>На ПК-сервере есть 4GB оперативки, .net core приложение.
J>Все эти объекты хранятся в памяти и больше не меняются. Надо соптимизировать поиск данных
Используйте BinarySearch вместо Set-ов и Dictionary. Памяти будет В РАЗЫ меньше потреблять, а производительность такая же. String.Intern это второе. Да ещё и один глобюальный на всё.
J> и колличество исспользуемой памяти.
Не храните дважды "одинаковые" стрики и объекты.
J>Есть несколько идей:
J>1. В классе `Bar`, `Name` сделать `int` типом и добавить соответствующий `CoolName` класс.
J>[cs]
J>class Bar {
J> public Name {get; set;}
J>}
J>class CoolName{
J> public int Id {get;set;}
J> public string Name {get; set;}
J>}
Ну так себе. Может жутко тормозить — вы же все гигабайты в ОДНУ коллекцию засуните.