AV>>>Ты хочешь сказать, что в дотнете нельзя организовать утечки памяти? Тебе прислать простейший код, который организует утечку?
I>>Был конкретный пример — любое исключение при использовании динамической аллокации можт привести к утечкам строк например.
AV>А может и не привести. Это смотря как писать.
Я про это и говорю, что писать нужно очень внимательно и аккуратно.
А в дотнет в этом месте утечки в принципе невозможны.
I>>В дотнет нет и быть не может утечки строк.
AV>Да що ты говоришь. Что, совсем-совсем не может быть?
Покажи, как могут строки утекать. Только контекст не потеряй.
Я объяснил как можно получить утечку в с++, не надо никаких глобальных присваиваний и тд и тд — достаточно передать параматры в метод.
I>>Например, если ты пользуешь динамическую аллокацию для строк или каких нить мелких объектов, их нужно обязательно запомнить в переменных а место могущее вызвать утечку обернуть в try catch дабы корректно освобдить. Без этого деструктор будет вызвать некому
AV>Паша, не обижайся, но твои познания плюсов оставляют желать лучшего.
Покажи внятно, где я неправ, если можешь.
I>>Кроме того, нельзя использовать динамику и указатели во всяких долбаных операторах.
AV>Можно разъяснить сей шифротекст?
Это не шифротекст. С++ ты уже забыл, а дотнет еще не выучил
I>>Если тебе так хочется продемонстрировать мне утечку, покажи, как утекают строки в дотнет.
AV>Ты только строчками и пользуешься? Кстати, что помешает мне положить строку в объект, который утечет вместе с этой строкой?
Строки кстати говоря используются очень широко во всех программах даже на с++.
Не валяй дурака — показывай код, как будут утекать строчки. В с++ обычное исключение может подвесить целый вагон строчек и мелких объектов в памяти.
В дотнет это невозможно в принципе. На том собственно стоит весь менеджед подход
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Turyst, Вы писали:
T>>Не, я ж давал ответ на вопрос mrTwister-а CC>Тут форум древовидный. И ответ ты дал на своё же сообщение.
Здравствуйте, Ikemefula, Вы писали:
I>Фетиш никто не делает. Я говорил про GC в контексте управления памяти. От тебя требуется рассказать, как наличие доп. ядра процессора скажется на работе дотнет приложения и нативного. Предположим, для простоты, специально многопроцессорность не планировалась.
Единственным аргументом тут будет исходник native и .net прог, с тестами на производительность и результатами измерений.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Тот кто сидит в пруду, Вы писали:
NBN>>>Феррари определённо плохая машина. CC>>И не гавары! Усяго тры мяшка картошки улазить!
ТКС>бульбы
Гэта апазицийнае название!!!
Правильна будзе картошки!!!11111адзинадзинадзин
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Здравствуйте, Eugeny__, Вы писали:
E__>Здравствуйте, Ikemefula, Вы писали:
I>>С дотнетом ты просто не можешь взять и ошибиться — дотнет тебе просто не даст. Утечкам просто негде взяться.
E__>Но-но!
E__>С определенной кривизной рук можно организовать утечку и в дотнете. Например, забывая удалять объекты из коллекций, на которые есть живые ссылки. И я уверен, что и на такое натыкаются(особенно учитывая, что некоторая часть программеров на дотнете не особо разбирается в том, как работает GC).
Да, есть еще такая дыра как анонимные делегаты. Я знаю это все. И про анменеджед тоже знаю
Для просты можно сравнить чисто строчки, даже не BSTR а самы простые, главное что бы динамически выделялись.
Ряд ситуаций в дотнет не возможен в принципе и очень часто встречается в с++. Настолько часто, что стоит найти один метод, вовращающий указатель динамику, то увереностью можно казать, в большом проекте он даст минима одну утечку.
Здравствуйте, IID, Вы писали:
CC>>>Играются на них точно так же как и на других компах. CC>>>У самого нетбук, спецом брался чтоб поменьше габаритами да подольше от батареи жил. CC>>>HD видео 720p тянет, игры на нём идут. 1 гиг оперативы, маловато, но пока хватает.
I>>Это пока.
IID>Пока игры на C# писать не начали ?
Здравствуйте, Turyst, Вы писали:
T>>>Не, я ж давал ответ на вопрос mrTwister-а CC>>Тут форум древовидный. И ответ ты дал на своё же сообщение.
T>Ответ я дал на его ответ, не мысли шаблонами
Здравствуйте, CreatorCray, Вы писали:
CC>Здравствуйте, Ikemefula, Вы писали:
I>>Фетиш никто не делает. Я говорил про GC в контексте управления памяти. От тебя требуется рассказать, как наличие доп. ядра процессора скажется на работе дотнет приложения и нативного. Предположим, для простоты, специально многопроцессорность не планировалась. CC>Единственным аргументом тут будет исходник native и .net прог, с тестами на производительность и результатами измерений.
AV>>Считай. В 2004 году — 0.5 года. Потом до лета 2007 года время от времени. С лета 2007 и по сей день.
I>>>Хочу увидеть цифру от 0 до 9.
AV>>Сосчитать сумеешь?
I>В сумме — 3 года. Это нормальный опыт для вчерашнего студента.
Пашенька, золотце ты мое, ты очень самокритичен. Неколько ранее, ты с гордостью сообщал, что твой опыт работы с дотнетом такой же.
I>>>ASP значит просто так было придумано ? Не знал, не знал.
AV>>И каким боком ASP к плюсам? На ASP на разных языках можно было писать. Причем, как правило писали либо на VB либо на JScript.
I>Писали в т.ч. и на с++ и не мало.
И? Это никак не означает, что эта ниша для С++. Это делали скорее от безысходности.
I>>>Смотришь, где раньше был С++ — это 100%. Смотришь, сколько всего потерял — вычитаешь. Сколько нового получил — прибавляешь.
AV>>И где же был С++ раньше, там где сейчас Сильверлайт? Или ты про пихание ActiveX в страницы? Если да, то это как говорится на безрыбьи и рак рыба.
I>цитирую "Смотришь, сколько всего потерял — вычитаешь. Сколько нового получил — прибавляешь."
Паша, использование ActiveX никак не означает, что веб является нишей для плюсов. Так что то, что он оттуда ушел еще ничего не значит. Особенно в ракурсе того, что в данной подветке первоначально речь шла про сервера.
I>>>>>Итого, с момента распростренения менеджед технологий С++ потерял где то не менее 40% своих исконных ниш.
AV>>>>Паша, давай ты не будешь рассуждать с умным видом о том, чего ты не пробовал сделать. Думаешь, что только ты знаешь про swig, а остальные такие тупые?
I>>>Говори толком и по существу — как пишете "биндинги". Автоматом или ручная работа в наличии ?
AV>>Да, ручная работа есть. А теперь ответь прямо тоже. С чего ты решил, что swig может решить наши проблемы?
I>swig для примера привел. Мне интересно, как вы решили проблему.
Разрешу себе потелепать. Я более чем уверен, что это тебе не интересно. Тем более, что одним-двумя предложениями это не объяснить. Потому что надо знать не только как было сделано, но и почему именно так, а не иначе. А это уже разговор на несколько часов. Как минимум.
Здравствуйте, Ikemefula, Вы писали:
AV>>>>Ты хочешь сказать, что в дотнете нельзя организовать утечки памяти? Тебе прислать простейший код, который организует утечку?
I>>>Был конкретный пример — любое исключение при использовании динамической аллокации можт привести к утечкам строк например.
AV>>А может и не привести. Это смотря как писать.
I>Я про это и говорю, что писать нужно очень внимательно и аккуратно.
I>А в дотнет в этом месте утечки в принципе невозможны.
И что? Можем спокойно получить в другом.
I>>>В дотнет нет и быть не может утечки строк.
AV>>Да що ты говоришь. Что, совсем-совсем не может быть?
I>Покажи, как могут строки утекать. Только контекст не потеряй.
I>Я объяснил как можно получить утечку в с++, не надо никаких глобальных присваиваний и тд и тд — достаточно передать параматры в метод.
И что? Да, можно получить утечку. С этим никто не спорит. В так любимом тобой дотнете нету утечек? Есть. Только получаются иначе. А упование на то, что GC сам все соберет часто приводит к плачевным результатам.
I>>>Например, если ты пользуешь динамическую аллокацию для строк или каких нить мелких объектов, их нужно обязательно запомнить в переменных а место могущее вызвать утечку обернуть в try catch дабы корректно освобдить. Без этого деструктор будет вызвать некому
AV>>Паша, не обижайся, но твои познания плюсов оставляют желать лучшего.
I>Покажи внятно, где я неправ, если можешь.
Если не упираться в использование голых указателей, то все деструкторы прекрасно вызовутся сами.
I>>>Кроме того, нельзя использовать динамику и указатели во всяких долбаных операторах.
AV>>Можно разъяснить сей шифротекст?
I>Это не шифротекст. С++ ты уже забыл, а дотнет еще не выучил
Интересная расшифровка. Никогда бы не подобрал ключю
I>>>Если тебе так хочется продемонстрировать мне утечку, покажи, как утекают строки в дотнет.
AV>>Ты только строчками и пользуешься? Кстати, что помешает мне положить строку в объект, который утечет вместе с этой строкой?
I>Строки кстати говоря используются очень широко во всех программах даже на с++.
I>Не валяй дурака — показывай код, как будут утекать строчки. В с++ обычное исключение может подвесить целый вагон строчек и мелких объектов в памяти.
Здравствуйте, Ikemefula, Вы писали:
I>>>Ты не показал этого. Интересуют модели которые выпускются сейчас, мы то про сейчас говорим, а не вообще.
AV>>Считаешь иначе, ищи доказательства.
I>Мы говорим про сейчас а не вообще. Неужели не ясно что это значит ?
I>Расклад по современным моделям будет такой же как я показал в примере про core 2 duo в пределах стат. погрешности.
Паша. Перечитай следующее предложение медленно, вдумываясь в каждое слово. Ты сравнил кол-во моделей с памятью 2+ ГБ и кол-вом моделей с памятью 2+ ГБ плюс кол-во моделей с памятью менее 2 Гб. Как ты предлагаешь на основе твоих данных сравнить кол-во моделей с памятью 2+ и 4+ Гб?
I>>>а не мини-, суб-, нет-.
AV>>А эти чем тебе не угодили?
I>Потому что их нельзя сравнить с обычнымкомпоп. А полноценный ноут, даже деск-, — можно
Далеко не каждый ноут тоже можно сравить с компом. А некоторые нетбуки сравнимы и с номальными ноутами.
I>>>Заметь — ты до сих пор ничего не сказал про GC и многоядерность/процессорность.
AV>>Паша, задавай конкретные вопросы, тогда и получишь конкретные ответы. Потому что в твоей постановке вопрос тянет не на один диссер.
I>Пиши, здесь люди умные, разберутся.
Писать в подобном направлени у меня нет и желания ни времени.
AV>>Если в двух словах. То GC по умолчанию нет. Да, GC позволяет использовать другие техники программирования. Но и только. Не стоит делать из него фетиш. Многоядерность/процессорность? Без проблем. Спокойно юзаем. А что?
I>Не понял что значит "GC по умолчанию нет", где его нет ?
В плюсах.
I>Фетиш никто не делает. Я говорил про GC в контексте управления памяти. От тебя требуется рассказать, как наличие доп. ядра процессора скажется на работе дотнет приложения и нативного. Предположим, для простоты, специально многопроцессорность не планировалась.
Брать абстрактные приложения? Ничего сказать нельзя.
Да, кстати, о каком GC ты говоришь? А то разные ведут себя по разному. Да и от поколения еще зависит.
AV>>Паша, это делает один человек. И это в общем объеме проекта занимает такую мизерную часть, что говорить о том, что планка требований поднимается на недостижимую высоту, как минимум, глупо.
I>Да ладно. Хороший аллокатор да еще и универсальный это очнь сложно.
И это конечно подымает планку аж на всем проекте.
I>По этой причине с++ идет с crt хипом по дефолту.
I>было бы это просто, в операторе new что по дефолту, был бы другой код.
Потому что тот универсальный аллокатор в подавляющем количестве случае более чем достаточен. И только когда его не хватает, то делают свой, который заточен под конкретную задачу.
Здравствуйте, Ikemefula, Вы писали:
CC>>Хорошо, убедил, ТЕБЕ на С++ писать мучительно больно и трудно. Сплошные непонятки и трудности. I>Мне было нормально. Мне на любом языке нормально пишется.
Здравствуйте, CreatorCray, Вы писали:
CC>>Если найду. Она где то в середине какого то очередного срача в стиле "какой плохой С++ и какой хороший С#" CC>Вот тебе ссылка где есть ссылки на то как усё было: http://rsdn.ru/forum/flame.comp/3341502.aspx
Я не понял, что ты хотел объяснить Владу и мне. Что можно написать хип который будет работать быстрее GC в ряде случаев?
Можно, я знаю.
Вот касательно твоего хипа, как он выдержт такое — память выделяетяс мелкими объектами под завязку, т.е. где о 1.5-1.8 гб, а потом где то половина-две трети освобождается и выделяется память объектами большего размера обратно под завязку.
вот qh это срубает наповал потому что там пул на размер объекта. А у тебя как будет ?
Дотнетовский вполне прилично справляется. Единсвенная проблема может возникнуть, если объекты более 10 мб или долгоживущие, в последнем поколении, их gc не двигает.
P.S. Говорят, если ИТ забанить на форуме, то он напишет два раза больше отличных статей
Про GC краткое описание принципов работы вижу, а где сравнение?
I>Можно начать отсюда. Выложить алгоритмы к сожалению не могу.
Нет, теоретические "А победит Б" не интересуют. Нужно то, что можно проверить практически.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
AV>И что? Да, можно получить утечку. С этим никто не спорит. В так любимом тобой дотнете нету утечек? Есть. Только получаются иначе. А упование на то, что GC сам все соберет часто приводит к плачевным результатам.
Ну, объективно говоря, получить утечку в дотнете или жабе сильно сложнее. Хотя, конечно, поговорку "заставь дурака богу молиться, он и лоб разобьет" тоже не зря придумали.
Новости очень смешные. Зря вы не смотрите. Как будто за наркоманами подсматриваешь. Только тетка с погодой в завязке.
There is no such thing as a winnable war.
Здравствуйте, Eugeny__, Вы писали:
AV>>И что? Да, можно получить утечку. С этим никто не спорит. В так любимом тобой дотнете нету утечек? Есть. Только получаются иначе. А упование на то, что GC сам все соберет часто приводит к плачевным результатам.
E__>Ну, объективно говоря, получить утечку в дотнете или жабе сильно сложнее.
Да, такие утечки как на плюсах там либо не получить, либо получить очень сложно. С этим глупо спорить. Но другие виды утечек встречаются достаточно часто. Особенно часто это происходит из-за излишних надежд на GC. Что же касается плюсов, то минимизация работы с голыми указателями значительно уменьшает и вероятность утечек.
E__>Хотя, конечно, поговорку "заставь дурака богу молиться, он и лоб разобьет" тоже не зря придумали.
Здравствуйте, Mamut, Вы писали:
M>Хотя нет. Линукс — он добрый и пушистый. Когда в Линуксе меняются технологии, это — нормально. Но когда это делает МС — это зло!!!!! Почему? Потому что Шеридан так решил, он же логикой не пользуется.
Нет, вообще говоря определенная логика все же есть. Для возможности пользования новыми технологиями как в линуксе так и в виндах потребуется обновление операционной системы, при этом стоимость самой операционки в случае линукса = 0, и, как я понял, Шеридан именно это ставит во главу своих доказательств что смена технологий в линухах безболезненна и естественна. При этом он не учитывает, что общая цена перехода может оказаться такой, что стоимость операционки просто потеряется на этом фоне.
Здравствуйте, ambel-vlad, Вы писали:
I>>>>Хочу увидеть цифру от 0 до 9.
AV>>>Сосчитать сумеешь?
I>>В сумме — 3 года. Это нормальный опыт для вчерашнего студента.
AV>Пашенька, золотце ты мое, ты очень самокритичен. Неколько ранее, ты с гордостью сообщал, что твой опыт работы с дотнетом такой же.
Ну ка, дай мне ссылку. Только не забудь показать как ты посчитал, проверм твою арифметику. Я вот помню что дотнетом занялся задолго до того, как женился, а женился в начале 2003го и периодически работал на двух работах, одна с++, вторая — дотнет, при том три года как не пользую с++.
Шота мне кажется, ты снова сел в лужу.
I>>Писали в т.ч. и на с++ и не мало.
AV>И? Это никак не означает, что эта ниша для С++. Это делали скорее от безысходности.
Это сейчас так очевидно. А тогда сиплюсники орали точь в точь как ты сейчас.
Интересно, где они сейчас ?
I>>цитирую "Смотришь, сколько всего потерял — вычитаешь. Сколько нового получил — прибавляешь."
AV>Паша, использование ActiveX никак не означает, что веб является нишей для плюсов. Так что то, что он оттуда ушел еще ничего не значит. Особенно в ракурсе того, что в данной подветке первоначально речь шла про сервера.
Ранее являлся. Писали — значит была такая ниша. Перестали — значит вытеснили.
А первоначально речь шла про геймдев, ан е про сервера. Просто кое кому было удобно спрыгнуть на сервера в контексте ММО.