|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
cdtyjvЯ понимаю, почему адепты дотнета искренне не понимают, зачем нужен перфоманс: вы просто дальше обычных корпоративных сайтиков ничего не видели, и не разрабатывали. Окей, расскажу. Я разрабатываю коробочный продукт. Потенциальные покупатели оценивают его по ряду характеристик, которые условно можно разделить на качественные и количественные. Качественные характеристики - это что бы в продукте был заявленный функицонал, что бы не вылетали ошибки, что бы его можно было легко конфигурировать, и т.д.. Количественные характеристики - это его скорость (читай - операций в секунду) и потребление памяти на стандартных наборах данных. Когда кому-то нужен этот продукт, он сначала шерстит рынок, и находит предварительно подходящие варианты. Потом на этапе предварительного эвалуэйшена откидывает откровенный шлак. Оставшиеся вендоры подвергаются тестированию. Как правило, с качественными характеристиками все более менее на одном уровне. Возьмите Thrift, Protobuf и Avro, и посмотрите на то, что они умеют. Этого за глаза хватает подавляющему большинству кастомеров. Поэтому наиболее интересным этапом отбора является количественное тестирование, когда юзеры начинают гонять данные и смотреть на следующие вещи: - загрузку сети - загрузку процессора - скорость передачи полезной информации - количество операций в секунду - нагрузку на память. И когда вы к ним придете со своим несчастным SOAP, и покажите результат в несколько раз хуже других, ибо даже дураку понятно, что XML будет работать медленнее практически всего, то ни про какие premarute optimization вы им даже заикнуться на успеете, так как с вами просто перестанут разговаривать, и выкинут из конкурса. Вы же смотрите на вещи со стороны прикладного программиста, который сидит в каком-нибудь банке, и пилит очередную унылую учетную систему. Конечно, вашему супер-пупер решению, где бухгалтерша посылает отчетик раз в пятилетку, не нужна никакая скорость. Вам этого XML хватит за глаза на годы вперед. Но, представьте себе, есть и другие проекты, где нужна максимальная скорость. Например, высокоскоростная торговля. Пойдите-ка и расскажите им про свой XML и premature optimization. Так что не пишите ерунды про "берлоги" и "быстрый XML", вы тем самым выставляете себя дилетантами. Лучше расширяйте свой кругозор. У того, чем сейчас занимаюсь я, цель простая - он должен порвать по скорости конкурентов, которых как минимум 4 штуки. есть еще кто-то не знакомый с 1С? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.07.2014, 18:16 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Тут ссылку ( часть 2 ) интересную в тему нашел, про коллекции в .Net кто-нибудь использует или использовал в работе С5? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 10:02 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Arm79Тут ссылку ( часть 2 ) интересную в тему нашел, про коллекции в .Net кто-нибудь использует или использовал в работе С5? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
Статья 2013-го года. Автор не знает, что использовать "лямбдовый" синтаксис для описания анонимных методов удобнее. Статья уг. Настоящая претензия к дотнетным коллекциям заключается в следующем. Они реализованы в safe-коде. Из-за этого происходит лишняя проверка границ массивов. Этого можно было бы избежать, если бы коллекции были реализованы в unsafe, как, например, реализован метод Array.Copy. Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 11:27 |
|
Почему в .Net такие убогие коллекции?
|
|||
---|---|---|---|
#18+
Алексей К, Так было бы круче... Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2014, 12:05 |
|
|
start [/forum/topic.php?fid=20&msg=38714776&tid=1402627]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 166ms |
0 / 0 |