"Золоті" кандидати: на одного програміста претендують 5 робо

+ Додати
    тему
Відповісти
на тему
Обговорення матеріалів з фінансово-економічних та політичних тем. Новини економіки, наукові статті з економіки, ціни на золото, податковий кодекс, кредит МВФ та інші.
Для обговорення Новин, Статей та Оглядів, розміщених на FINANCE.UA
  #<1 ... 1112131415>
Повідомлення Додано: Чет 30 сер, 2012 23:07

  yuriyb написав:
  SemionV написав:
  yuriyb написав:А как можно писать на дотнете и не блестать маршалингом и не разу не пользовать unmanaged код? Ану "блесни"? На фин форуме думаю всем будет "интерестно".

Я тебе так скажу, если ты дошел до того, что используешь P/Invoke, то ты уже влез в костыли по самые помидоры - гордиться тут нечем. Да, да, на дот нете можно писать без костылей, даже нужно. И не только на дот нете. В этой платформе есть абсолютно все, чтобы не обращаться к маршалингу. Понятно что реальность накладывает свои требования, но это не значит что без костылей вот никак нельзя. Если проект идет с нуля, тем более если в проекте нет desktop интерфейса, то тут как раз шансы столкнуться с маршалингом уже мизерные. А вот в клиентских десктопных приложения, с которыми, очевидно, ты в основном и имеешь дело, да, костылей часто не избежать. По-поводу performаnce тоже надо сказать, что C++ отнюдь не царь зверей, тут уже лучше С и даже asm. Как правило в таких задачах уже использование .NET - костыль со всеми вытекающими.





Я до P/Invoke не дохожу, т.к. на дотнете давно не пишу. :mrgreen: (прям стихами :twisted: )
Но в одном проекте использовал создание объектов из динамически подгруженных сборок.

Т.к. в основном для *nix платформ пишу на плюсах. С++ не "царь зверей" но на порядок быстрее... надеюсь здесь холивар не будем по этому поводу устраивать. :mrgreen:

дотнет совсем не для того чтобы блистать маршалингом или unmanaged кодом, нахрена это может понадобиться в адекватном дотнетовском проекте? За 4 года мне почему-то ни в одном проекте не пришлось это использовать, хотя проекты всегда были очень серьезные. Это вот просто переходят люди с С++ на C# и продолжают ***** всякую писать, unmanaged блоки кода вставлять :evil:
Утверждение про то что С++ на порядок (вы хоть знаете на сколько это? нет? в 10 раз) быстрее C# тоже неверное. Максимум 30% и то далеко не всегда. Намного больше производительность снижается из-за некачественного (говно-) кода.
i_s_goroshko
 
Повідомлень: 21
З нами з: 19.07.12
Подякував: 4 раз.
Подякували: 7 раз.
 
Профіль
 
Повідомлення Додано: Чет 30 сер, 2012 23:26

  i_s_goroshko написав:дотнет совсем не для того чтобы блистать маршалингом или unmanaged кодом, нахрена это может понадобиться в адекватном дотнетовском проекте? За 4 года мне почему-то ни в одном проекте не пришлось это использовать, хотя проекты всегда были очень серьезные. Это вот просто переходят люди с С++ на C# и продолжают ***** всякую писать, unmanaged блоки кода вставлять :evil:
Утверждение про то что С++ на порядок (вы хоть знаете на сколько это? нет? в 10 раз) быстрее C# тоже неверное. Максимум 30% и то далеко не всегда. Намного больше производительность снижается из-за некачественного (говно-) кода.


Как ни крути С++ на текущий момент практически один единственный кросс-платформенный компилируемый язык высокого уровня, особенно когда примут окончательно новый стандарт. Чем .net не блещет. Mono не рассматриваю даже.

По поводу скорости, в серьезных проектах обычно back-end всегда на С/С++.
yuriyb
 
Повідомлень: 513
З нами з: 01.03.08
Подякував: 67 раз.
Подякували: 108 раз.
 
Профіль
 
Повідомлення Додано: П'ят 31 сер, 2012 07:42

Поцоны, харе письками меряться! :mrgreen:
SeTh
 
 
 
Повідомлення Додано: П'ят 31 сер, 2012 07:43

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

P.S. Не могу не упомянуть ваши отжиги про скорость дот нета в сравнении с нативным кодом :-) Друзья, вообще-то CLR запускает точно такой же нативный машинный код как и все остальное, почитайте чтоли про азы типа JIT, там нет разницы в производительности, какие порядки, какие ТРИ раза? :-) Дот нет проигрывает исключительно тогда когда выполняется этот самый JIT, то бишь один раз, один раз в жизни, когда программа, скажем так, впервые запускается - и все :-) То же самое с джавой... Кстати, о джаве, Юрий, это что вы такое говорите про C++, буд-то он единственный кросплатформенный язык? Ну... ладно, без комментариев.
SemionV
 
 
 
Повідомлення Додано: П'ят 31 сер, 2012 08:30

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

P.S. Не могу не упомянуть ваши отжиги про скорость дот нета в сравнении с нативным кодом :-) Друзья, вообще-то CLR запускает точно такой же нативный машинный код как и все остальное, почитайте чтоли про азы типа JIT, там нет разницы в производительности, какие порядки, какие ТРИ раза? :-) Дот нет проигрывает исключительно тогда когда выполняется этот самый JIT, то бишь один раз, один раз в жизни, когда программа, скажем так, впервые запускается - и все :-) То же самое с джавой... Кстати, о джаве, Юрий, это что вы такое говорите про C++, буд-то он единственный кросплатформенный язык? Ну... ладно, без комментариев.


Вот когда подрастешь - все поймешь... такой бред пишешь! A MSIL и Byte код идеален ?

Вот смотри, в моем проекте используются справочные данные, размером около 14-16 Гб. Которые загружаются, сортируются и в процессе работы очень активно происходит поиск по этим данным...

Твое мнение? если использовать Dictionary в дотнете производительность поиска, расходы по памяти, время сортировки лучше будут ?

Анусь, "дискредитируй" себя...

З.Ы.: И на минуточку представь себе, что система ни что иное как биллинговая система достаточно крупного оператора стационарной связи в европе. А словари, ни что иное как подготовленные справочные данные для расчетов стоимости звонков (и не только). И скорость работы очень критична, скажем так, до 50 - 80 миллионов "событий" (звонков, услуг и т.д.) в сутки, в пике. А на процессинг отведено всего 3 часа.

С++ на текущий момент практически один единственный кросс-платформенный компилируемый
- ключевые слова.
yuriyb
 
Повідомлень: 513
З нами з: 01.03.08
Подякував: 67 раз.
Подякували: 108 раз.
 
Профіль
 
Повідомлення Додано: П'ят 31 сер, 2012 09:21

Вот когда подрастешь - все поймешь... такой бред пишешь! A MSIL и Byte код идеален ?

Ты не понял о чем я говорил. IL компилируется в такой же самый машинный код как и C++. Представь что программа написана не на плюсах, а на IL, теперь ты этот IL компилишь под машину на которой запускается программа, какбуд-то ты плюсы скомпилил под какой-то процессор - точно такой же процесс, просто выполняется Just In Time. В итоге такой подход даже лучше чем просто компиляция плюсов в машинный код, так как CLR выполняет оптимизацию под конкретный процессор. Если ты этого не понимаешь, то вести всякие дискуссии про словари тоже смысла не имеет, так как ты не понял - нет разницы между машинным кодом полученным путем компиляции плюсов и путем компиляции C# -> IL -> машинный код. Даже наоборот, CLR более качественно оптимизирует получаемый код, так как делает это динамически и уже знает особенности процессора в отличии от обычной разовой компиляции плюсового кода. Да, поиск и сортировка по словарю не будет уступать в производительности плюсам, разумеется после прогрева. И я не буду тут вдаваться в подробности, я не Рихтер и времени у меня для тебя не так много. В общем, остынь, ты же явно не понимаешь о чем споришь. Я тебе даже больше скажу, я специалист в том числе и по C++, так что ты заведомо в проигрышной ситуации, я-то знаю "твою" область, а вот ты "мою" похоже очень поверхностно.
SemionV
 
 
 
Повідомлення Додано: П'ят 31 сер, 2012 09:31

Re: "Золоті" кандидати: на одного програміста претендують 5

yuriyb,
еще раз хочу сказать что зачастую код теряет больше в производительности из-за кривых рук. Например, многие для извлечения значения из Dictionary, проверяют сначала на Contains(key), а потом уже делают само извлечение, хотя нужно использовать TryGetValue, вот вам уже потеря производительности, т.к. происходит два поиска по словарю вместо одного.
50-80 миллионов событий - это совсем не много.
  yuriyb написав:Вот смотри, в моем проекте используются справочные данные, размером около 14-16 Гб. Которые загружаются, сортируются и в процессе работы очень активно происходит поиск по этим данным...

Твое мнение? если использовать Dictionary в дотнете производительность поиска, расходы по памяти, время сортировки лучше будут ?

Если у вас сортируются данные а потом по ним производится поиск, то нафига там Dictionary (может SortedDictionary)? Я так понял сортировка производится для того, чтобы потом пользоваться бинарным поиском. А если использовать Dictionary, то предварительная сортировка не нужна.
Спорить сильно не буду, т.к. для разных задач используются разные структуры данных, а о вашей задаче я не знаю практически ничего.

P.S. я не говорю что C# быстрее C++, но разница в большинстве случаев на сильно большая, как я уже и говорил - не более 30%. При этом, времени на разработку (и особенно на поддержку) на плюсах уходит намного больше.
Востаннє редагувалось i_s_goroshko в П'ят 31 сер, 2012 09:40, всього редагувалось 1 раз.
i_s_goroshko
 
Повідомлень: 21
З нами з: 19.07.12
Подякував: 4 раз.
Подякували: 7 раз.
 
Профіль
 
Повідомлення Додано: П'ят 31 сер, 2012 09:32

Re: "Золоті" кандидати: на одного програміста претендують 5

  yuriyb написав:З.Ы.: И на минуточку представь себе, что система ни что иное как биллинговая система достаточно крупного оператора стационарной связи в европе. А словари, ни что иное как подготовленные справочные данные для расчетов стоимости звонков (и не только). И скорость работы очень критична, скажем так, до 50 - 80 миллионов "событий" (звонков, услуг и т.д.) в сутки, в пике. А на процессинг отведено всего 3 часа.


Можешь лопнуть от злости, но задача вполне решаемая и для дот нета тоже :-D
SemionV
 
 
 
Повідомлення Додано: П'ят 31 сер, 2012 09:37

i_s_goroshko
У меня вообще большое подозрение что для их задачи можно использовать обыкновенную базу данных типа Оракла или SQL Server :lol: Без всяких велосипедов на плюсах :roll:
SemionV
 
 
 
Повідомлення Додано: П'ят 31 сер, 2012 09:44

i_s_goroshko
Утверждение про то что С++ на порядок (вы хоть знаете на сколько это? нет? в 10 раз) быстрее C# тоже неверное. Максимум 30% и то далеко не всегда. Намного больше производительность снижается из-за некачественного (говно-) кода.


Проект на java. Математику выносили в dll на с++. Производительность именно математики возрастала до 3-х раз при множественном обращении. Ну в с++ части используется арифметика указателей + битовые операции, и соответственно не говно-код :)
Vis
 
Повідомлень: 617
З нами з: 30.09.09
Подякував: 21 раз.
Подякували: 68 раз.
 
Профіль
 
  #<1 ... 1112131415>
Форум:
+ Додати
    тему
Відповісти
на тему
Зараз переглядають цей форум: Немає зареєстрованих користувачів і 2 гостей
Модератори: Ірина_, Модератор

Схожі теми

Теми
Відповіді Перегляди Останнє
1 1499
Переглянути останнє повідомлення
Вів 16 гру, 2025 00:33
moveton
7 10251
Переглянути останнє повідомлення
Суб 14 гру, 2024 21:02
beredis
1 1058
Переглянути останнє повідомлення
Чет 07 лис, 2024 19:43
Investor_K
Топ
відповідей
Топ
користувачів
реклама
Реклама