powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему в .Net такие убогие коллекции?
25 сообщений из 379, страница 10 из 16
Почему в .Net такие убогие коллекции?
    #38683872
host.13
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvКак я и сказал выше, проигрыш в XML идет в разы.

XML используется не для решения задач производительности, а для стандартизации. А стандартизация - это такая вещь, которая поважнее многих производительностей будет.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38683907
Фотография D129
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt а не на подкреплённые реальной практикой.
А вот это уже наезд.
Я работал и с байтами - читая их напрямую из сокета, и со всякими там WCF.
Между прочим, у последнего есть тип байндинга как раз бинарный - то есть, надо будет, включаешь.

А что касается низкоуровневых сокетов -
то читать параметры из битов, установленных в шестнадцатиразрядном целом, это наверное, очень быстро было. Но это было при связи с контроллером. То есть, не было выбора.

А когда выбор есть - то выбирается простота. Связь сейчас черезчур быстрая, и дешевая, чтобы на ней экономить.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38683939
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
D129А вот это уже наезд.
Я работал и с байтами - читая их напрямую из сокета, и со всякими там WCF.
Между прочим, у последнего есть тип байндинга как раз бинарный - то есть, надо будет, включаешь.

А что касается низкоуровневых сокетов -
то читать параметры из битов, установленных в шестнадцатиразрядном целом, это наверное, очень быстро было. Но это было при связи с контроллером. То есть, не было выбора.

А когда выбор есть - то выбирается простота. Связь сейчас черезчур быстрая, и дешевая, чтобы на ней экономить.

меня вот что поражает.

ведь много всего есть. и молотки, и микроскопы, и ножи, и топоры, пассатижи, отвёртки... как же выбрать правильный инструмент? наверное надо брать самый мощный? кувалда! да, лучше чем микроскоп, определённо. и чё тут думать? что за придурки выдумали микроскоп? есть же нормальная такая мужская кувалда.

когда начинают рассуждать о чём-то в отрыве от контекста реальной задачи, это просто смешно. XML медленный... что это $#ть, значит? для чего? что за детский сад, не пойму? из какой берлоги некоторые товарищи повылазили? или это лето так действует на неокрепший детский мозг?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684102
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я понимаю, почему адепты дотнета искренне не понимают, зачем нужен перфоманс: вы просто дальше обычных корпоративных сайтиков ничего не видели, и не разрабатывали. Окей, расскажу.

Я разрабатываю коробочный продукт. Потенциальные покупатели оценивают его по ряду характеристик, которые условно можно разделить на качественные и количественные.
Качественные характеристики - это что бы в продукте был заявленный функицонал, что бы не вылетали ошибки, что бы его можно было легко конфигурировать, и т.д..
Количественные характеристики - это его скорость (читай - операций в секунду) и потребление памяти на стандартных наборах данных.

Когда кому-то нужен этот продукт, он сначала шерстит рынок, и находит предварительно подходящие варианты. Потом на этапе предварительного эвалуэйшена откидывает откровенный шлак. Оставшиеся вендоры подвергаются тестированию. Как правило, с качественными характеристиками все более менее на одном уровне. Возьмите Thrift, Protobuf и Avro, и посмотрите на то, что они умеют. Этого за глаза хватает подавляющему большинству кастомеров. Поэтому наиболее интересным этапом отбора является количественное тестирование, когда юзеры начинают гонять данные и смотреть на следующие вещи:
- загрузку сети
- загрузку процессора
- скорость передачи полезной информации
- количество операций в секунду
- нагрузку на память.

И когда вы к ним придете со своим несчастным SOAP, и покажите результат в несколько раз хуже других, ибо даже дураку понятно, что XML будет работать медленнее практически всего, то ни про какие premarute optimization вы им даже заикнуться на успеете, так как с вами просто перестанут разговаривать, и выкинут из конкурса.

Вы же смотрите на вещи со стороны прикладного программиста, который сидит в каком-нибудь банке, и пилит очередную унылую учетную систему. Конечно, вашему супер-пупер решению, где бухгалтерша посылает отчетик раз в пятилетку, не нужна никакая скорость. Вам этого XML хватит за глаза на годы вперед. Но, представьте себе, есть и другие проекты, где нужна максимальная скорость. Например, высокоскоростная торговля. Пойдите-ка и расскажите им про свой XML и premature optimization.

Так что не пишите ерунды про "берлоги" и "быстрый XML", вы тем самым выставляете себя дилетантами. Лучше расширяйте свой кругозор.
У того, чем сейчас занимаюсь я, цель простая - он должен порвать по скорости конкурентов, которых как минимум 4 штуки.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684117
petalvik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvУ того, чем сейчас занимаюсь я, цель простая - он должен порвать по скорости конкурентов, которых как минимум 4 штуки.
О! Стало быть, проект пишется на голом Си?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684125
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
petalvikО! Стало быть, проект пишется на голом Си?Отнюдь. Еще один дилетантский миф, что все сверхбыстрое должно быть написано на сях. Код, который генерирует JIT в Java не смогут превзойти по скорости подавляющее большинство программистов C/C++. А если и смогут, то не в разы, а дай бог, что б на пару десятков процентов. Но это мы говорим про какую-нибудь процедурку. А когда у вас проект на десятки и сотни тысяч строк кода, то на этот выигрышь всем становится плевать, так как пока синики напишут соответствующий функционал, таки выжав дополнительные 10 процентов, джависты и дотнетовцы уже займут весь рынок, благодаря высокой скорости разработки.

Пипец, среди вашей тусовки есть хоть кто-то, кто не мыслит шаблонами?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684129
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvpetalvikО! Стало быть, проект пишется на голом Си?Отнюдь. Еще один дилетантский миф, что все сверхбыстрое должно быть написано на сях. Код, который генерирует JIT в Java не смогут превзойти по скорости подавляющее большинство программистов C/C++. А если и смогут, то не в разы, а дай бог, что б на пару десятков процентов.В Java можно отключить контроль типов и границ массивов?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684136
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алексей КВ Java можно отключить контроль типов и границ массивов?Ерунду не спрашивайте. После ваших перлов про XML, вопросы про контроль границ массива выглядят смешно. В Java есть прямой доступ к памяти процесса через специальный утилитарный класс. Вызов операций чтения/записи этого класса после компилирования JIT-ом вырождается в одну единственную инструкцию mov. Поэтому если вы дошли до того, что вам проверки границ массивов начинают отравлять жизнь, то вы берете этот класс, и начинаете фигачить что-угодно и куда-угодно без каких-либо проверок.
Конкретно в моей задаче это не является узким местом. У меня другие узкие места - сеть, аллокации массивов, последовательная vs рандомная запись/чтение в/из MemoryStream, рефлекшн. Разумеется, у меня есть некоторое количество unsafe кода. И я уверен, что добавь я его еще больше, приложение станет работать еще быстрее. Но так как на данный момент я не уперся в это, я склон считать, что выигрыш от этого с учетом амортизации будет крайне и крайне невелик. Поэтому мне плевать на эти несчастные границы массивов. Но если надо будет - я от них смогу избавиться, как в Java, так и в .Net.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684144
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvУ меня другие узкие места - сетьЭто да, как было сказано выше, сеть все твои потуги сводит к нулю.
cdtyjvаллокации массивовТут-то что не так? Они у тебя здоровые и в LOH попадают? Или что?
cdtyjvпоследовательная vs рандомная запись/чтение в/из MemoryStreamЧто за ацкий алгоритм вызывает такую дилемму?
cdtyjvрефлекшнЭто жёстко. Если ты такой реактивный, почему используешь рефлекшен? Читай про компиляцию Expression Tree или про более низкий уровень - Emit.
cdtyjvРазумеется, у меня есть некоторое количество unsafe кода.Ну и что от него толку, если рядом используется рефлекшен? И эти люди учат нас ковыряться в носу...
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684145
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvадепты дотнета искренне не понимают, зачем нужен перфоманс
cdtyjvесть и другие проекты, где нужна максимальная скорость. Например, высокоскоростная торговля
Я занимался трейдингом на C#. И я действительно подтверждаю, что использование SOAP, Xml и штатных форматтеров (даже BinaryFormatter) сильно замедляет процесс обмена данными. Самое лучшее по скорости из опробованного - в корпоративной сети Tcp/Ip, наружу поток через UDP, протокол самописный со своим форматтером либо использование движка FAST/FIX

Тем не менее, где сверхскорость не нужна, было и Xml over MSMQ, и Xml over tcp, SOAP over tcp и SOAP over HTTP (интегрируемых систем было вагон и тележка)

Так что вопрос в допустимой задержке. Коллеги по форуму хотят вам сказать, свеном, что для вашей задачи, ВОЗМОЖНО, вполне допустимо использование Xml и прочих высокоуровневых протоколов. Вы ведь не сказали, в какие рамки должны уложиться...

Может, откроете, наконец, тайну - хотя бы какого класса/типа ваша разрабатываемая система и где именно в ней вы собираетесь порвать всех по скорости передачи данных?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684166
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Может, откроете, наконец, тайну - хотя бы какого класса/типа ваша разрабатываемая система и где именно в ней вы собираетесь порвать всех по скорости передачи данных?
Рискну предположить - что-то типа cdtyjvThrift, Protobuf и Avro упомянутых автором выше ...
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684180
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvВозьмите Thrift, Protobuf и Avro, и посмотрите на то, что они умеют. Этого за глаза хватает подавляющему большинству кастомеров.
кастомера, эти потроха, мягко говоря, мало интересуют.

Если я правильно понимаю, кто есть кастомер, конечно.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684186
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Так что вопрос в допустимой задержке. Коллеги по форуму хотят вам сказать, свеном, что для вашей задачи, ВОЗМОЖНО, вполне допустимо использование Xml и прочих высокоуровневых протоколов. Вы ведь не сказали, в какие рамки должны уложиться...Коробочный продукт, на основе которого кастомеры строят свои решения. Поэтому критерий только один - как можно быстрее. XML под этот критерий не попадает никоим образом.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684356
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvИ когда вы к ним придете со своим несчастным SOAP, и покажите результат в несколько раз хуже других, ибо даже дураку понятно, что XML будет работать медленнее практически всего, то ни про какие premarute optimization вы им даже заикнуться на успеете, так как с вами просто перестанут разговаривать, и выкинут из конкурса.

От такой невиданной глупости я аж прослезился. Всё остальное такой же бред.

Как я уже говорил, рассуждения на уровне детского сада, в отрыве от контекста конкретной задачи говорить, что «SOAP в несколько раз хуже других» — это заявление не мужа, а пацана со двора, который ещё не переболел максимализмом.

Желаю вам повзрослеть, и надеюсь когда-нибудь вам доведётся писать «коробочное решение для юзеров».
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684357
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79Может, откроете, наконец, тайну - хотя бы какого класса/типа ваша разрабатываемая система и где именно в ней вы собираетесь порвать всех по скорости передачи данных?

я думаю, что нет никакой у него задачи. сам придумал, сам посмеялся.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684360
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvКоробочный продукт, на основе которого кастомеры строят свои решения
каково назначение продукта?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684399
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttКак я уже говорил, рассуждения на уровне детского сада, в отрыве от контекста конкретной задачи говорить, что «SOAP в несколько раз хуже других» — это заявление не мужа, а пацана со двора, который ещё не переболел максимализмом.
Желаю вам повзрослеть, и надеюсь когда-нибудь вам доведётся писать «коробочное решение для юзеров».Вам до сих пор неводмек, что у меня нет конкретной прикладной задачи. У разработчиков SQL Server есть прикладная задача? Нет, им надо написать максимально крутой SQL движок, что бы когда их будут сравнивать с Oracle, они показывали лучшие цифры, потому что изначально потребности и возможности кастомера неизвестны, так как неизвестен сам кастомер.
Идите и предложите разработчикам SQL Server хранить данные СУБД в XML. Ну а чо, диски же сейчас большие и дешевые!
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684402
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvВам до сих пор неводмек, что у меня нет конкретной прикладной задачи.

Вообще-то я уже понял, что задачи у вас нет. Поэтому времени вагон и можно парить мозги людям здесь на форуме.

cdtyjvУ разработчиков SQL Server есть прикладная задача?

У них есть свой круг задач. Если вы не заметили, есть несколько редакций SQL Server для разных областей применения. Как и наборы функций и возможностей.

cdtyjvНет, им надо написать максимально крутой SQL движок, что бы когда их будут сравнивать с Oracle, они показывали лучшие цифры, потому что изначально потребности и возможности кастомера неизвестны, так как неизвестен сам кастомер.

Ещё раз спрашиваю, в какой части глуши матушки России находится та берлога, откуда вы вылезли?

cdtyjvИдите и предложите разработчикам SQL Server хранить данные СУБД в XML. Ну а чо, диски же сейчас большие и дешевые!

Я предложил бы вам купить мозг, но к сожалению он не продаётся. Поэтому искренне сочувствую.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684407
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684421
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvВам до сих пор неводмек, что у меня нет конкретной прикладной задачи.
Тогда зачем описывать сферического коня в вакууме? Универсальной таблетки нет. И пытаться делать супер-пупер архитектуру на все случаи жизни бессмысленно. Тот же пример с СУБД - если они так хороши и универсальны, почему появляются embedded СУБД, key-value хранилища или in-memory database системы?

Если вы так озабочены конкурентными преимуществами - дарю идею: в вашу прикладную неконкретную систему-конструктор заложите еще выборочные защиту целостности (ЭЦП), конфиденциальность (шифрование), сжатие (архивирование), защиту от DDOS, MIM, не забудьте интеграцию с каким-нибудь аутентификационным центром наподобие Tivoli Access Manager.

И у меня еще вопрос. Если .Net так плох, а вам нужны любые преимущества над конкурентами, то почему вы не сделаете вашу систему на Java, который обгоняет с++ по скорости исполнения кода, и .Net - по скорости разработки?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684443
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рискну предположить, что Свеному поручили реализовать кусок C# драйвера к чему-то (ядру какого-то продукта). Причём не с нуля, а дали кусок кода из Java версии драйвера.
И проблема в том, что Свеном не может придумать, как правильно решить поставленную задачу на C#, а код Java в лоб не портируется.
Ну и наш юный падаван обвиняет во всём "кривой .Net с его убогими коллекциями".

О самом продукте он скорее всего знает только в общих чертах, технические детали ему неведомы.
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684448
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAРискну предположить, что Свеному поручили реализовать кусок C# драйвера к чему-то (ядру какого-то продукта). Причём не с нуля, а дали кусок кода из Java версии драйвера.
И проблема в том, что Свеном не может придумать, как правильно решить поставленную задачу на C#, а код Java в лоб не портируется.
Ну и наш юный падаван обвиняет во всём "кривой .Net с его убогими коллекциями".

О самом продукте он скорее всего знает только в общих чертах, технические детали ему неведомы.
То что он не рубит в Нет это давно понятно. Но если бы он был крутой, то вряд ли делал бы такие детские высеры. Я конечно понимаю первые эмоции и тд, но все же это не профессионально:)
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684450
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
netivan, а я где-то сказал, что он крутой?
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684451
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttcdtyjv,

http://technet.microsoft.com/ru-ru/library/ms189887(v=sql.105).aspx В довесок... чтобы кое-кто потом не утверждал, что XML в базах данных это "сугубо личная проблема" MSSQL...
тынц
тынц
тынц
...
Рейтинг: 0 / 0
Почему в .Net такие убогие коллекции?
    #38684453
netivan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAnetivan, а я где-то сказал, что он крутой?ну он себя позиционирует просто мега java гуру.
...
Рейтинг: 0 / 0
25 сообщений из 379, страница 10 из 16
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему в .Net такие убогие коллекции?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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