powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Элегантные решения
19 сообщений из 44, страница 2 из 2
Элегантные решения
    #38771702
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320А вообще, скажите, что дешевле - посадить пару человек на зарплату по 150 килорублей каждого, чтобы они код проекта вот так вот заоптимизировали за год, или купить ещё один Ксеон, пару плашек оперативы и оплачивать чуть бОльшие счета за электричество?
Несопоставимо. Если есть алгоритм, который на C# работает условно 1 секунду, а на С++ 0.2 секунды, то покупка дополнительного железа никак не ускорит работу алгоритма. Например, ЭЦП.

user7320По-моему, если нужна производительность, то надо использовать подходящий для этого инструмент
Точно.

user7320C#'пы и джавы всякие явно не для этого
Серьезное заблуждение. HFT очень часто делают на Java (см. вакансии ДойчеБанка). К тому же понятие "производительность" очень обманчиво. Более правильно говорить про выбор инструмента, реализующего какую-то логику в пределах заданных рамок, в т.ч. и временнЫх.

Далее, иногда накладные расходы на поддержание и интеграцию разных ЯП и платформ больше, чем выигрыш по производительности.
...
Рейтинг: 0 / 0
Элегантные решения
    #38771723
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320А вообще, скажите, что дешевле - посадить пару человек на зарплату по 150 килорублей каждого, чтобы они код проекта вот так вот заоптимизировали за год, или купить ещё один Ксеон, пару плашек оперативы и оплачивать чуть бОльшие счета за электричество?У нас на проекте расходы на разработку больше, чем расходы на инфраструктуру.

Да и люди платят деньги не за то, что приложение с ростом клиентов, данных и трафика, работает на том же железе.
Посчитайте сколько вы за год денег НЕ заработаете, если будете заниматься оптимизацией. :)
...
Рейтинг: 0 / 0
Элегантные решения
    #38771737
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Arm79,

я с вами согласен.

Главное, чтобы можно было быстро и точно выяснять узкие места, когда приспичит. Тогда и соптимизировать можно. А если битики руками сдвигают и наллы присваивают только потому, что "я крутой праграмист, а вы все казлы!" - лучше уволить такого работника.
...
Рейтинг: 0 / 0
Элегантные решения
    #38771757
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот встречаю я присвоение наллу после Dispose(). Если бы его не было - я бы дальше пошёл кодить не задумываясь. А теперь я долго думаю - нафига здесь ЭТО? Гуглю, читаю, иду к написавшего ЭТО и спорю с ним, выясняю. И если таких моментов - каждый второй в коде этого умника, а задача мегаоптимизаций не стоит, то что делать в этом случае?

Особенно, если этот умник говорит "RTFM faggot, мне некогда тут студней азам учить!".
...
Рейтинг: 0 / 0
Элегантные решения
    #38772121
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320А ваще, в статье даже нет замены всех умножений и делений на 2 байтовыми сдвигами и прочими такими "оптимизациями".
с этим давно справляются компиляторы. и не только на степень двойки можно умножать хитрожопым образом -
lea eax,[eax+eax*4] например для x86
...
Рейтинг: 0 / 0
Элегантные решения
    #38772411
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320,
авторВот встречаю я присвоение наллу после Dispose().
а какая взаимосвязь null и Dispose?, Dispose - обыкновенный метод
...
Рейтинг: 0 / 0
Элегантные решения
    #38772415
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Вот встречаю я присвоение наллу после Dispose()

Дык - помощь сборщику, почему нет?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
class SomeClass
{
     private MyDisposable _item;
     public void Stop()
     {
          _item.Dispose();
          _item = null;
     }
}
...
Рейтинг: 0 / 0
Элегантные решения
    #38772419
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320А теперь я долго думаю - нафига здесь ЭТО?Додумался, али подсказать?
...
Рейтинг: 0 / 0
Элегантные решения
    #38773226
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Pallaris
Дык - помощь сборщику, почему нет?

Сборщику иначе нужно помогать.
...
Рейтинг: 0 / 0
Элегантные решения
    #38773356
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВPallarisДык - помощь сборщику, почему нет?

Сборщику иначе нужно помогать.?
...
Рейтинг: 0 / 0
Элегантные решения
    #38773425
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,
Присваивать или не присваивать null, от этого мало толка, GC и без этого эффективно найдет недостижимые объекты.
ИХМО нужно делать так, что бы GC работал как можно меньше, т. е. не создавать без объекты там, где без этого можно обойтись.
P. S. интересно, что первая версия GC была написана на LISP, а потом оттранслирована в C++.
...
Рейтинг: 0 / 0
Элегантные решения
    #38773582
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANA,
Присваивать или не присваивать null, от этого мало толка, GC и без этого эффективно найдет недостижимые объекты.
ИХМО нужно делать так, что бы GC работал как можно меньше, т. е. не создавать без объекты там, где без этого можно обойтись.
P. S. интересно, что первая версия GC была написана на LISP, а потом оттранслирована в C++.Что-то как-то не о том.
...
Рейтинг: 0 / 0
Элегантные решения
    #38773589
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Был создан нужный объект, он отработал своё, прибит, предварительно освободив использованные неуправляемые ресурсы.

Что значит "не создавать"? А работу, кто будет работать?
...
Рейтинг: 0 / 0
Элегантные решения
    #38774523
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВskyANA,
Присваивать или не присваивать null, от этого мало толка, GC и без этого эффективно найдет недостижимые объекты.


Прохладная история.
Чем меньше живых ссылок на объект, тем лучше для сборщика.
...
Рейтинг: 0 / 0
Элегантные решения
    #38774567
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisПрохладная история.
Чем меньше живых ссылок на объект, тем лучше для сборщика.

ему это глубоко фиолетово
...
Рейтинг: 0 / 0
Элегантные решения
    #38774585
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAБыл создан нужный объект, он отработал своё, прибит, предварительно освободив использованные неуправляемые ресурсы.

Что значит "не создавать"? А работу, кто будет работать? скайана, тут имеют ввиду, что надо стремиться создавать меньеш объектов, если это возможно. GC в .Net работает отвратительно, поэтому, в отличие от той же Java, здесь реально надо париться над этим. Что есть, то есть.
...
Рейтинг: 0 / 0
Элегантные решения
    #38774586
Pallaris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропилему это глубоко фиолетово

Внезапно...
Ну хорошо - ссылке не был присвоен нул, объект ушел во второе поколение - кому от этого стало лучше?
...
Рейтинг: 0 / 0
Элегантные решения
    #38774588
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PallarisВнезапно...
Ну хорошо - ссылке не был присвоен нул, объект ушел во второе поколение - кому от этого стало лучше?В большинстве случаев, если вы начинаете чистку ресурсов какого-то объекта, то он и сам вот-вот будет собран GC. Как в примере выше - вы вызвали некий Stop(), что скорее всего означает, что вы заканчиваете работать с этим объектом, и с его кишками. Если это так - то ничего обнулять не надо, это маразм.
Если же с этим объектом планируется дальнейшая работа, то да - хорошо бы его кишки обнулить.
...
Рейтинг: 0 / 0
Элегантные решения
    #38774604
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvskyANAБыл создан нужный объект, он отработал своё, прибит, предварительно освободив использованные неуправляемые ресурсы.

Что значит "не создавать"? А работу, кто будет работать? скайана, тут имеют ввиду, что надо стремиться создавать меньеш объектов, если это возможно. GC в .Net работает отвратительно, поэтому, в отличие от той же Java, здесь реально надо париться над этим. Что есть, то есть.Это я понял, но вопрос-то у user7320 был не в этом :)
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Элегантные решения
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]