Главная Контакты Архив

Блог Ingate Development

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

Логическая оптимизация

Автор Сергей Шебанин 11 мая 2012 10:43

Рассмотрим еще один пример оптимизации производительности работы программы. Причем, как я это называю, вариант логической оптимизации. Это означает, что при оптимизации мы не оттачиваем до блеска каждый элемент программы, а реструктурируем всю программу таким образом, чтобы логически убрать трудозатратные вычисления / ресурсоемкие операции.

Разберем на примере простой задачи. Вам нужно сделать кеш, который должен обновляться раз в 5 минут. При этом в кеш обращаются очень часто. Вопрос в том, как сделать обновление раз в 5 минут.

При этом в нашем решении должно быть больше плюсов, чем минусов.

Читать далее...

Decimal или Double?

Автор Сергей Шебанин 2 мая 2012 14:06

Есть еще один интересный момент, связанный с производительностью .NET.

Речь идет о таких типах, как double и decimal. С точки зрения программиста разница в этих типах в том, что decimal представляет собой точный тип, в то время как double легко может содержать ошибку в младших разрядах и это норма. Исходя из этого double, например, некорректно сравнивать при помощи оператора ==.

То есть decimal идеально подходит для ситуаций, когда нам важна точность вычислений. Например, при учете финансовых операций. Давайте посмотрим, как обстоят дела с производительностью:

Читать далее...

StringBuilder или string.Format?

Автор Сергей Шебанин 20 апреля 2012 18:02

Есть мнение, что операция конкатенации (+) очень медленная и правильные программисты всегда должны использовать StringBuilder или string.Format. При этом в качестве аргумента обычно приводят то, что + работает медленнее, чем StringBuilder, потому что нужно выделять дополнительную память и т.п. и т.д.

Ну а string.Format вообще предъявляется чуть ли не как стандарт. А потом программисты мучаются с сопоставлением {0}, {1} и остальных параметров. Рефакторинги к этому приделывают.

Хотелось бы развеять этот миф.

Читать далее...

Летняя практика в Ingate Development

Автор Евгений Халин 23 марта 2012 11:33

Хотите попробывать свои силы в разработке? Хотите получить новые знания или углубить уже имеющиеся? Хотите получить нужный опыт и провести время с интересными опытными людьми, у которых можно многому научиться?

Тогда добро пожаловать!

Наша компания в очередной раз открывает набор студентов IT-специальностей на летнюю практику.

Читать далее...

Новое в .Net Framework 4.0 и C# 4.0. Часть 2

Автор Дмитрий Кулагин 16 ноября 2011 11:54

Продолжим изыскания хороших и не очень нововведений в .Net 4.0. На этот раз мы рассмотрим Memory Mapped Files, MemoryCache, CodeContracts, Parallel LINQ и Managed Extensibility Framework (MEF).

Читать далее...

Теги: