Здравствуйте, Utruk, Вы писали:
U>Мне пофиг что там порождает дотнетный джит и что показывают купленные бенчмарки, но почему-то серия одинаковых запросов к Ораклу стабильно выполняется в 1.5 раза медленнее.
Вот уж тут то платформа точно не при чем. ODP к дотнету оракль пишет, так что все вопросы к МС. Драйвера к MSSQL работают не медленее нативных, даже если компилировать при помощи ICC (что не удивительно, vbs/js скорее всего тоже слабо отличимый результат продемонстрируют).
U> Почему-то скорость распределения и освобождения одинакового количества объектов (порядок — сотни тысяч, миллионы) в .NET менеджере памяти ни разу не было быстрее дельфийского
А это ты, уважаемый, просто вводишь нас в заблуждение. Скорость выделения дотнета не достижима ни для каких суперменеджеров кучи (не говоря уж о менеджере дельфи), потому что это прост инкремент одного указателя и пара проверок, а освобождение памяти в дотнете просто отсутствует.
U>, а если чонть в деструкторе написать то вообще туши свет.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Antikrot, Вы писали:
A>>Если я правильно понял, что, он делает, лишь будет закапывать ошибки поглубже и усложнять отладку...
НС>Да уж, код из кучи ифов с проверкой на null, он конечно намного лучше
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, Utruk, Вы писали:
U>>Мне пофиг что там порождает дотнетный джит и что показывают купленные бенчмарки, но почему-то серия одинаковых запросов к Ораклу стабильно выполняется в 1.5 раза медленнее.
НС>Вот уж тут то платформа точно не при чем. ODP к дотнету оракль пишет, так что все вопросы к МС. Драйвера к MSSQL работают не медленее нативных, даже если компилировать при помощи ICC (что не удивительно, vbs/js скорее всего тоже слабо отличимый результат продемонстрируют).
U>> Почему-то скорость распределения и освобождения одинакового количества объектов (порядок — сотни тысяч, миллионы) в .NET менеджере памяти ни разу не было быстрее дельфийского
НС>А это ты, уважаемый, просто вводишь нас в заблуждение. Скорость выделения дотнета не достижима ни для каких суперменеджеров кучи (не говоря уж о менеджере дельфи), потому что это прост инкремент одного указателя и пара проверок, а освобождение памяти в дотнете просто отсутствует.
не знаю, что ты этим хотел сказать, но оно там не только присутствует, но еще и дороже чем в unmanaged heap.
U>>, а если чонть в деструкторе написать то вообще туши свет.
НС>В дотнете нет деструкторов.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, gandjustas, Вы писали:
G>>Код в студию.
НС>Да какой там код? Человек явно демонстрирует полное непонимание предмета.
Да просто поржать хотел.
Ровно год назад знакомый толкал такие же мысли по поводу C++Builder и .NET. Оказалось что в .NET он использовал DataSet, а в билдере ADO Recordset (компонент ADOQuery).
Когда на .NET переписали с использованием datareader, то на .NET все гораздо быстрее заработало.
Здравствуйте, Константин Л., Вы писали:
НС>>А это ты, уважаемый, просто вводишь нас в заблуждение. Скорость выделения дотнета не достижима ни для каких суперменеджеров кучи (не говоря уж о менеджере дельфи), потому что это прост инкремент одного указателя и пара проверок, а освобождение памяти в дотнете просто отсутствует.
КЛ>не знаю, что ты этим хотел сказать, но оно там не только присутствует, но еще и дороже чем в unmanaged heap.
Вообще-то нет. Накладные расходы связаны с живыми объектами, пережившими первую сборку, а не с мертвыми.
... << RSDN@Home 1.2.0 alpha 4 rev. 1110>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Здравствуйте, Ночной Смотрящий, Вы писали:
A>>Если я правильно понял, что, он делает, лишь будет закапывать ошибки поглубже и усложнять отладку... НС>Да уж, код из кучи ифов с проверкой на null, он конечно намного лучше
С *моей* точки зрения (поддержка/отладка такого кода), код с ":" в общем случае просто г..о по сравнению с кучей проверок. Давайте уж тогда on error resume next добавим, фиг ли.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>И в чем разница?
Иногда банальна — разная винда, к примеру, стоит. В свое время сколько раз наступал на грабли с ограничением размера простого текстовика в NT и Win9x. Опять же от приложения зависит. Я, к примеру, использую Office 2003 и у меня отчет в Excel шикарно строится (на сводных таблицах замечено), а у пользователя — Office 2000, и отчет не работает.
НС>Ты, случаем, у этих некоторых не с сетевого диска программу запускал?
А без разницы. Просто какой-то DLL-ки не хватает. И все, exception гарантирован. Хотя это уже все пройдено десять раз. И все мое ношу с собой. Просто так, на всякий...
Хотя, это все вообще безотносительно ЯП. Хоть на своем собственном пиши...
С годами я делаюсь все менее терпимым к людям неумным и неумеющим работать свое дело очень хорошо. (с) М. Веллер
Здравствуйте, Klapaucius, Вы писали:
K>Здравствуйте, Константин Л., Вы писали:
НС>>>А это ты, уважаемый, просто вводишь нас в заблуждение. Скорость выделения дотнета не достижима ни для каких суперменеджеров кучи (не говоря уж о менеджере дельфи), потому что это прост инкремент одного указателя и пара проверок, а освобождение памяти в дотнете просто отсутствует.
КЛ>>не знаю, что ты этим хотел сказать, но оно там не только присутствует, но еще и дороже чем в unmanaged heap.
K>Вообще-то нет. Накладные расходы связаны с живыми объектами, пережившими первую сборку, а не с мертвыми.
при чем здесь это? В .net нет сборки мусора? А уплотнения хипа? Или мы с тобой о чем вообще?
Здравствуйте, LuciferArh, Вы писали:
НС>>И в чем разница?
LA>Иногда банальна — разная винда, к примеру, стоит.
Что значит разная? Речь шла о Висте.
НС>>Ты, случаем, у этих некоторых не с сетевого диска программу запускал?
LA>А без разницы. Просто какой-то DLL-ки не хватает.
А с подписью dll'ка таинственным образом появляется?
если приложение ставится click-once'ом, то пора бы девелоперам почитать про trust zones, permissions и проч для приложений, устанавливаемых этим самым click-once
Здравствуйте, Константин Л., Вы писали:
КЛ>>>не знаю, что ты этим хотел сказать, но оно там не только присутствует, но еще и дороже чем в unmanaged heap. K>>Вообще-то нет. Накладные расходы связаны с живыми объектами, пережившими первую сборку, а не с мертвыми. КЛ>при чем здесь это? В .net нет сборки мусора? А уплотнения хипа? Или мы с тобой о чем вообще?
Я о том, что освобождение памяти и сборка мусора не одно и то же. Освобождение подразумевает, что накладные расходы тем больше, чем больше объектов умирает. С другой стороны, в случае сборки мусора накладные расходы тем меньше, чем больше объектов умирает. Дорого обходятся долгоживущие, а не мертвые.
Я считаю, что рассуждения о высокой стоимости освобождения порождают в головах идеи о том, что освобождать нужно как можно меньше, которые нередко превращаются в подборки вредных советов
. Слепое соледование этим идеям, в свою очередь, приводит к широкому использованию сценариев наименее благоприятных для GC со всеми вытекающими последствиями.
... << RSDN@Home 1.2.0 alpha 4 rev. 1110>>
'You may call it "nonsense" if you like, but I'VE heard nonsense, compared with which that would be as sensible as a dictionary!' (c) Lewis Carroll
Здравствуйте, Константин Л., Вы писали:
КЛ>если приложение ставится click-once'ом, то пора бы девелоперам почитать про trust zones, permissions и проч для приложений, устанавливаемых этим самым click-once
Думаю, там все намного проще — запускают с сетевого диска. Вот и получается — у кого то работает, кто с локальног диска пускает, у кого то нет. А разбираться неохота — проще на кривую платформу свалить.
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, diatlov, Вы писали:
D>>Извините, глюкнуло
___>Даже больше, чем можешь себе представить — очнись, сбрось наваждение Дельфи!
Я не дельфист ) Я как раз на Шарпе и пишу. Но т.к. тут все против Дельфи то, чтобы поддержать беседу, кому-то же надо находить положительные моменты в Дельфи.
Вот и стараюсь по мере возможности (На дельфи программировал только в 10 и 11 классе).
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, LuciferArh, Вы писали:
НС>>>И в чем разница?
LA>>Иногда банальна — разная винда, к примеру, стоит.
НС>Что значит разная? Речь шла о Висте.
НС>>>Ты, случаем, у этих некоторых не с сетевого диска программу запускал?
LA>>А без разницы. Просто какой-то DLL-ки не хватает.
НС>А с подписью dll'ка таинственным образом появляется?
О КАКОЙ ВИСТЕ??????????????????????
Речь шла о всеми любимой XP. По крайней мере я её имел ввиду.
При попытке на пользовательской машине моего приложения узнать имя машины и список её IP-адресов вываливался exception, где писалось что-то типа у вашего приложения недостаточно прав и т.д. и т.п. Обратитесь к системному администратору или зайдите в консоль управления фреймворком и дайте ему прав скоко нада.
Решал методом подписи приложения ч/з sn.exe (это из Windows SDK, генерит strong names). Затем на клиентской машине запускал caspol.exe -af <моя прога>
Для тех кто не знает про caspol — http://msdn.microsoft.com/en-us/library/cb6t8dtz(VS.80).aspx
Только после этого не было исключений безопасности.