powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Ну вот и дождались Юкона
25 сообщений из 153, страница 4 из 7
Ну вот и дождались Юкона
    #33375287
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127А Почему на .НЕТ-е они "больше не будут такими опасными"? А какими опасными они были, до сих пор?
Я бы спросил, по сравнению с чем. Если я правильно понимаю смысл слов in-process, .NET-хранимки будут падать вместе с сервером.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33375341
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
softwarer Если я правильно понимаю смысл слов in-process, .NET-хранимки будут падать вместе с сервером.
Я думаю, что уж все же не с сервером, а с потоком (thread), в котором исполняется хранимка, если исходить из аналогий с 2000 сервером.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33375375
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Что такое "extended процедуры"? Я подозреваю что Вы зачем-то так называете сохраненки. А почему они опасны? По крайней мере почему написанные на .НЕТ-е они будут безопанее чем на ТСКЛ-е?


"extended процедуры" -- специальным образом оформленные модули, использующие специальное API и написанные как правило на С или С++.
Работают они в MSSQL (если еще ничего не поманяли в MS) в адресном пространстве самого сервера базы данных, т.е. это - .dll , подключаемые к процессу сервера. Нужно ли говорить еще что-то об их потенциальной "опасности" ?
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33375639
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
softwarer c127А Почему на .НЕТ-е они "больше не будут такими опасными"? А какими опасными они были, до сих пор?
Я бы спросил, по сравнению с чем.

А я так и спросил:А Почему на .НЕТ-е они "больше не будут такими опасными ".

softwarer
Если я правильно понимаю смысл слов in-process, .NET-хранимки будут падать вместе с сервером.

Или сервер вместе с сохраненками.



MasterZiv
"extended процедуры" -- специальным образом оформленные модули, использующие специальное API и написанные как правило на С или С++.
Работают они в MSSQL (если еще ничего не поманяли в MS) в адресном пространстве самого сервера базы данных, т.е. это - .dll , подключаемые к процессу сервера. Нужно ли говорить еще что-то об их потенциальной "опасности" ?

Да, согласен. А что, .НЕТ extended процедуры будут работать как-то по-другому? Наверняка тоже в том же пространстве.

Сторонники пошарпанного С утверждают, что их код компилируется в машинные коды и потому быстрый. Но в таком случае при выполнении на сервере он так же опасен, как С код из extended процедуры, там такие же указатели и прямой доступ к памяти. А если он в этом случае не будет компилироваться в машинные коды, то врядли получится выигрыш в скорости в сравнении с обычными сохраненками, который так пропагандирует Dooma.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33375679
MoonLight
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
c127Да, действительно, ошибся. Все время забываю что имею дело со сторонником мелкософта,...Смотря со стороны, хочется сказать: Удивительно, мы все забываем, что имеем дело с яростными противниками MS. Причем, действительно, создается такое ощущение, что очередной выход хорошего продукта от MS вызывает у них такие вопли, как буд-то бы им прищемили "причинные места" в дверях
Я бы, со своей стороны, предложил бы совсем игнорировать их вопли.
Я уже взывал здесь на форуме и еще раз повторюсь: оставте их в покое, пусть свято веруют в свои Oracle. Не порождайте в них сомнений! Чем больше они так думают, тем вам же потом лучше будет - конкурентов меньше.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33375864
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MoonLight c127Да, действительно, ошибся. Все время забываю что имею дело со сторонником мелкософта,...Смотря со стороны, хочется сказать: Удивительно, мы все забываем, что имеем дело с яростными противниками MS. Причем, действительно, создается такое ощущение, что очередной выход хорошего продукта от MS вызывает у них такие вопли, как буд-то бы им прищемили "причинные места" в дверях
Я бы, со своей стороны, предложил бы совсем игнорировать их вопли.
Я уже взывал здесь на форуме и еще раз повторюсь: оставте их в покое, пусть свято веруют в свои Oracle. Не порождайте в них сомнений! Чем больше они так думают, тем вам же потом лучше будет - конкурентов меньше.

дайте две
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33375996
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127
Сторонники пошарпанного С утверждают, что их код компилируется в машинные коды и потому быстрый. Но в таком случае при выполнении на сервере он так же опасен, как С код из extended процедуры, там такие же указатели и прямой доступ к памяти. А если он в этом случае не будет компилироваться в машинные коды, то врядли получится выигрыш в скорости в сравнении с обычными сохраненками, который так пропагандирует Dooma.

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

На самом деле вещь то хорошая(я про .НЕТ), спорить тут нечего, но не сильно необходимая для сервера. Хотя мы можем и ошибаться
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33376231
Фотография Gluk (Kazan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
locky
А зип такое и не возьмет, вроде... там ить до 2 гиг ограничение, вроде?


Во первых, никто не мешает побить на кусочки Во вторых, 2G это ограничение контных реализаций, а никак не алгоритма ;)
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33377754
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Локшин Марк softwarer Если я правильно понимаю смысл слов in-process, .NET-хранимки будут падать вместе с сервером.
Я думаю, что уж все же не с сервером, а с потоком (thread), в котором исполняется хранимка, если исходить из аналогий с 2000 сервером.
Видите ли в чем дело, насколько я могу судить, "единицей падения" довольно часто является именно процесс (process), а не поток (thread). Для того, чтобы ограничить падение потоком, это падение должно быть контролируемым; обработчик исключений должен вычистить все "грязные следы" падающего потока. Проблема здесь - в разделяемых данных; грубо говоря, если поток перед падением затрет нулями случайную область памяти, это имеет существенные шансы уронить и другие потоки, и в конце концов процесс в целом. Межпроцессное же общение куда лучше защищено; ОС неплохо подчищает следы за падающими процессами и главное, там нет непосредственной адресации в чужое адресное пространство.

Итого, если предположить, что внешняя хранимка падает, в случае out-of-process архитектуры просто упадет NET-машина, а поток сервера, общающийся с ней, вернет исключение типа "неожиданный сбой тра-ля-ля". В случае же in-process реализации NET-машина своим падением легко может уронить весь сервер. Насколько я в курсе, именно этим соображением обуславливается выбор архитектуры в случае Oracle, и именно поэтому я не совсем уверен, что in-process архитектуру следует записать в положительные отличия Yukon.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33377846
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MoonLight c127Да, действительно, ошибся. Все время забываю что имею дело со сторонником мелкософта,...Смотря со стороны, хочется сказать: Удивительно, мы все забываем, что имеем дело с яростными противниками MS. Причем, действительно, создается такое ощущение, что очередной выход хорошего продукта от MS вызывает у них такие вопли, как буд-то бы им прищемили "причинные места" в дверях


Пардон, Вы необъективны. Эти вопли раздаются из лагеря мелкософта. Причем уже дошло до того, что их вызывает даже не выход продукта, а только ожидание выхода, поскольку сам выход многократно откладывается.

Чтоб не быть голословным, самый первый пост топика под названием " Весомый плюс Юкон над ORACLE ":
StalkerS> В Юкон будет реализована возможность программировать триггеры, ХП, UDF с помощью любого .NET ......
/topic/143322&pg=1&hl=execute


SergSuper c127
Сторонники пошарпанного С утверждают, что их код компилируется в машинные коды и потому быстрый. Но в таком случае при выполнении на сервере он так же опасен, как С код из extended процедуры, там такие же указатели и прямой доступ к памяти. А если он в этом случае не будет компилироваться в машинные коды, то врядли получится выигрыш в скорости в сравнении с обычными сохраненками, который так пропагандирует Dooma.

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

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

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

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

К тому же тут где-то утверждалось, что C# код транслируется именно в машинные коды и работает без виртуальной машины, не могу найти где. Но это в обычном приложении, на СКЛ сервере может быть по-другому.

SergSuper
На самом деле вещь то хорошая(я про .НЕТ), спорить тут нечего, но не сильно необходимая для сервера.

Именно это я и говорю, на сервере оно мало кому нужно. А энергии на интегрирование .НЕТ-а в СКЛ сервер потрачено немеряно и шума развели много. ИМХО не оправдывает затрат, лучше бы Т-СКЛ довели до ума.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33378116
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127Почему после п-кода не может быть опасных операций? А если сишную процедуру сначала скомпилировать в п-код (например в асемблер, некоторые компиляторы так и работали), а потом в машинные коды, она тоже станет безопасной?

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

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

К тому же тут где-то утверждалось, что C# код транслируется именно в машинные коды и работает без виртуальной машины, не могу найти где. Но это в обычном приложении, на СКЛ сервере может быть по-другому.

есть опции безопасного и небезопасного кода
указатели и обращение напрямую к памяти можно использовать только когда пишется безопасный код
опасный код (я так понимаю) использовать на сервере будет нельзя

но я не настолько знаю .Нет чтобы чего-то объяснять :)
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33382865
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper
есть опции безопасного и небезопасного кода
указатели и обращение напрямую к памяти можно использовать только когда пишется безопасный код
опасный код (я так понимаю) использовать на сервере будет нельзя

но я не настолько знаю .Нет чтобы чего-то объяснять :)

Безопасные указатели замедлят выполнение, их же каждый раз нужно проверять. Либо же, выполнять код в виртуальной машине, тогда указатели будут указывать на виртуальную память и в случае чего испортят только ее.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33383246
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет в безопасном коде вообще указателей
а виртуальной машины в .Нет-е вообще нет - исполняется машинный код

ну почитал бы чего прежде чем выводы делать
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33383390
locky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluk (Kazan) wrote:
> locky
>
> А зип такое и не возьмет, вроде... там ить до 2 гиг ограничение, вроде?
>
>
>
> Во первых, никто не мешает побить на кусочки Во вторых, 2G это
> ограничение контных реализаций, а никак не алгоритма ;)
Ну, низнаю-низнаю... у меня ни один зип не хотел хавать файлы.
А то, что это ограничения реализации - я знаю. Но ить савсем впадлу
писать еще свой винзип, не правда-ли? коли уже есть винрар, который
такие файлы кушает не плямкая.

--
-------------------------
There's no silver bullet!
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33383668
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuperа виртуальной машины в .Нет-е вообще нет - исполняется машинный код

шо, опять?! во что, говорите, компилируется .Net проэкт? в машкод? аааа, таки в псевдокод IL? и фреймворк не нужен? тоесть совсем? у нас же бинарник! окей, выполните сборку .Net проекта на машине, где фреймворка нету. медаль от билли гейтса выбивать буим, если оно так сработает
для тех, кто в .Net`е - виртуальная машина, как ее не назови - интерпретатор, JIT компилятор, фреймворк - таки есть. и именно она выполняет сборку нетовскую.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33383695
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aZm SergSuperа виртуальной машины в .Нет-е вообще нет - исполняется машинный код

шо, опять?! во что, говорите, компилируется .Net проэкт? в машкод? аааа, таки в псевдокод IL? и фреймворк не нужен? тоесть совсем? у нас же бинарник! окей, выполните сборку .Net проекта на машине, где фреймворка нету. медаль от билли гейтса выбивать буим, если оно так сработает
для тех, кто в .Net`е - виртуальная машина, как ее не назови - интерпретатор, JIT компилятор, фреймворк - таки есть. и именно она выполняет сборку нетовскую.
Выполняет ... но только один раз. Далее, пока файлы сборки не изменяются, выполняются сами уже откомпилированные сборкой dll-ы, лежащие в кэше. Отсюда я в первых версиях VS.NET и видел забавный глюк, когда изменишь формочку, скомпилишь и запустишь проект, а запускается старая, неизмененная версия формочки.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33383869
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ASCRUSВыполняет ... но только один раз.
quod erad demonstrandum. перенесите сборку на другую машину - и снова выполнится (первый раз) через эту самую виртуальную машину.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33384133
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 aZm
Ну не всё в .Net-е так примитивно, как Вы привыкли

Почитайте чего-нибудь прежде чем тонко острить
Я сам этим не занимаюсь, но основные принципы надо знать

MSIL - это независимый от процессора набор инструкций, в который компилируются программы в .NET Framework. Он содержит инструкции для загрузки, хранения, инициализации и вызова методов объектов.

Вместе с метаданными и общей системой типов, MSIL делает реальной межъязыковую интеграцию.

Перед выполнением, MSIL преобразуется в машинный код. Он не интерпретируется.




Из формата PE Windows определяет приложение .NET, и в дело вступает CLR. Важный момент, который необходимо понять, - приложения .NET не интерпретируются! Ошибкой было бы так думать, хотя в некоторых статьях и даже книгах вы можете такую ошибку найти.


Вот микрософтовские ссылки:

http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/cpguide/html/cpconmanagedexecution.asp

http://msdn.microsoft.com/library/rus/default.asp?url=/library/RUS/cpguide/html/cpconjitcompilation.asp

Вопрос с интерпритацией надеюсь теперь закрыт?
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33384227
aZm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SergSuper

пожалуйста внимательно перечитайте мой пост. там я спорил с вами не в том плане, что оно интерпретатор, а в том, что дотнетовское приложение выполняется без всякой виртуальной машины в машинных кодах. аргументы перечислять повторно, уж извините, не буду.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33385210
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насчет безопасности .net - тут стоит почитать про саму платформу, технологии, обратить внимание на домены.

Насчет того, зачем это надо. Ну можно просто посомтреть хотя бы в BOL пункт "Раскрытие иерархий" (не помню как по англиски правильно написать :D) и прикинуть, а как теперь подобные задачи можно решить.

Скорость .Net - на массе задач (много, действительно) не уступает С++. Кроме того, на x64 перейдете сами-собой :D - а это большой плюс.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33385627
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuperда нет в безопасном коде вообще указателей
а виртуальной машины в .Нет-е вообще нет - исполняется машинный код

ну почитал бы чего прежде чем выводы делать

Может Вы все-таки обратите внимание на то, что я никаких выводов пока не делаю, я делаю утверждения. В какой же части мои утверждения не верны? В том что "Безопасные указатели замедлят выполнение, их же каждый раз нужно проверять"? Вроде все правильно, действительно, чтобы код был безопасным компилятор должен встраивать код, который проверяет указатели каждый раз при их использовании и это замедляет работу. Или может я ошибся во второй части: "Либо же, выполнять код в виртуальной машине, тогда указатели будут указывать на виртуальную память и в случае чего испортят только ее"? Но вроде и тут все правильно, виртуальная машина действительно безопаснее, но замедляет выполнение кода. Или по-Вашему она его ускояет?

Кстати обращение к элементу массива по индексу тоже требует проверки на выход за пределы массива. Если хотите строить безопасный код то это тоже нужно проверять каждый раз когда используются индексы. Работу программы не ускоряет.

Или массивов в безопасном коде тоже нет?



ASCRUSВыполняет ... но только один раз. Далее, пока файлы сборки не изменяются, выполняются сами уже откомпилированные сборкой dll-ы, лежащие в кэше. Отсюда я в первых версиях VS.NET и видел забавный глюк, когда изменишь формочку, скомпилишь и запустишь проект, а запускается старая, неизмененная версия формочки.

Когда код в системе сам по себе это понятно. Вопрос в том, что происходит когда код компилируется в МССКЛ сервере, или для работы в МССКЛ сервере, не знаю как правильно.

Мы же вроде обсуждаем МССКЛ серверные сохраненки на .НЕТ-е, типа замена T-SQL, а оппоненты все норовят подсунуть ссылки на то, как работает независимое приложение. Подкиньте ссылку на .НЕТ в юконе.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33386277
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 aZm, c127
Возможно что у меня не совсем верное представление что такое "виртуальная машина". Мне это представлялось как нечто выполняющее промежуточный байт-код. А на самом деле это что?

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

"Либо же, выполнять код в виртуальной машине, тогда указатели будут указывать на виртуальную память и в случае чего испортят только ее"? Но вроде и тут все правильно
Интересно, а кто сейчас работает с реальной памятью? Я последний раз в ДОСе, Win 3.11 на 286 процессоре уже с виртуальной памятью работала.

Или массивов в безопасном коде тоже нет?

Вот нашел
Указатели и управление памятью. В языке C++ работа с указателями занимает одно из центральных мест. Нормальный стиль программирования на C# предполагает написание безопасного кода, а это значит - никаких указателей, никакой адресной арифметики, никакого управления распределением памяти. Возможность работы с указателями в духе C++ ограничена "небезопасными" блоками. Небезопасный код для C# программистов будет скорее исключением, чем правилом.
Массивы. В языке C# появилась возможность объявлять классические многомерные массивы. Работа с массивами в C# более безопасна, поскольку контролируется выход за границы массива.

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


Но даже если все эти проверки и замедляют оснований для этого вывода(или утверждения) нет:
с127Сторонники пошарпанного С утверждают, что их код компилируется в машинные коды и потому быстрый. Но в таком случае при выполнении на сервере он так же опасен, как С код из extended процедуры, там такие же указатели и прямой доступ к памяти. А если он в этом случае не будет компилироваться в машинные коды, то врядли получится выигрыш в скорости в сравнении с обычными сохраненками, который так пропагандирует Dooma.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33386577
gybson
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
c127, скажите, как можно рассуждать о .Net не имея ни малейшего, даже приблизительного, понятия о том, как это работает?
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33388055
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gybsonc127, скажите, как можно рассуждать о .Net не имея ни малейшего, даже приблизительного, понятия о том, как это работает?

Ваш вопрос поставлен неверно, все-таки кое-какое представление о работе .НЕТ-а я имею. Тем более что я пытаюсь разобраться в работе .НЕТ-а, а в работе .НЕТ-а в МССКЛ сервере и подчеркиваю это уже не в первый раз.

Отвечаю на вопрос. Есть много способов. Из общих соображений, например. Ничего нарушающего общие и даже не очень общие представления там вроде не наблюдается. Или Вы не согласны?


Я уже третий день прошу ссылки на то, как работает .НЕТ в МССКЛ сервере. Может Вы нарушите добрую традицию молчания и выложите ссылку на то, как он работает. Либо расскажите сами.
...
Рейтинг: 0 / 0
Ну вот и дождались Юкона
    #33388087
c127
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SergSuper
Возможно что у меня не совсем верное представление что такое "виртуальная машина". Мне это представлялось как нечто выполняющее промежуточный байт-код. А на самом деле это что?

По-моему не обязательно. Это может быть настоящий исполняемый код, тот же x386, но выполняемый не на реальном процессоре/памяти, а на сэмулированных в другой программе. Например эмулятор палма и VMWare это виртуальные машины.

Т.е. виртуальная машина это программа или часть программы, изображающая из себя компьютер с процессором, памятью и периферией. ИМХО.

SergSuper
Не обязательно. Есть исключения процессора при обращении к запрещенной памяти, проверки делаются аппаратно и ничего не замедляют. Но как сделано в Нет-е - не знаю

Я тоже не знаю. Но в принципе согласен, такое может быть. Но в таком случае при работе внешней процедуры (extended procedure в терминологии Dooma), написанной на С тоже нет никакой опасности. Аппаратные ограничения памяти позаботятся о том, чтобы процедура не испортила память СКЛ сервера и системы. В этом случае непонятно почему процедуры на C# будут безопаснее чем на чем-то другом. (Dooma>Кроме того они больше не будут такими "опасными". /topic/231053&pg=3#2061467 )


SergSuper
Интересно, а кто сейчас работает с реальной памятью? Я последний раз в ДОСе, Win 3.11 на 286 процессоре уже с виртуальной памятью работала.

Но синий экран иногда выскакивает, хоть и редко. Значит кто-то все-таки работает.


SergSuper
Или массивов в безопасном коде тоже нет?

Вот нашел
Указатели и управление памятью. В языке C++ работа с указателями занимает одно из центральных мест. Нормальный стиль программирования на C# предполагает написание безопасного кода, а это значит - никаких указателей, никакой адресной арифметики, никакого управления распределением памяти.
Возможность работы с указателями в духе C++ ограничена "небезопасными" блоками. Небезопасный код для C# программистов будет скорее исключением, чем правилом.

Всякое исключение можно сделать правилом, как это случилось в С++ по-моему. Там работа с указателями тоже должна была стать (как я понимаю) исключением, но программисты это сделали правилом. Единственный способ этого избежать - не давать возможность делать исключения. Поэтому если в C# есть возможность добраться до указателей, то эта возможность будет использоваться.

SergSuper
Массивы. В языке C# появилась возможность объявлять классические многомерные массивы. Работа с массивами в C# более безопасна, поскольку контролируется выход за границы массива.

Не верю что это можно сделать без потери производительности. Подумайте сами, при каждом обращении к элементу массива нужно проверить if(i>=first_index && i<=last_index). Паскаль не аргумент, борландовские компиляторы традиционно плохо оптимизируют код, на фоне плохого кода проверка на выход из паскалевского массива может быть незаметна.

Но в принципе согласен. Если (!) extended procedures МССКЛ сервера на .НЕТ-е действительно компилируются в машинные коды, то они скорее всего будут работать быстрее Т-СКЛ-евских процедур.

Осталось выяснить куда именно они компилятся НА МССКЛ СЕРВЕРЕ, а не в случае отдельного приложения.


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

С указателями я ошибся, в пошарпанном C их вроде нет, по крайней мере они не болтаются на поверхности, как в С. Признаю. Остаются массивы, которые проверяются, и может еще что-то о чем я не подозреваю.
...
Рейтинг: 0 / 0
25 сообщений из 153, страница 4 из 7
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Ну вот и дождались Юкона
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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