Re[3]: Сравнение производительности C# и C++
От: AndreyR7 Великобритания  
Дата: 25.11.07 21:15
Оценка:
Здравствуйте, l33thaxor, Вы писали:

L> public unsafe static MatrixComplex operator *(MatrixComplex left, MatrixComplex right)

Кажется увидел слово unsafe? Здравствуй обратно ручное управление памятью?
Re[4]: Сравнение производительности C# и C++
От: AndreyR7 Великобритания  
Дата: 25.11.07 21:22
Оценка:
Здравствуйте, andrey.desman, Вы писали:

AD>То, что на C# быстрее разрабатывается — тоже факт, однако.


Вовсе не факт. Проблема плюсов как правило в библиотеках, т.е. для разработки серьезных приложений нужно использовать библиотеки, которые не очень (а то и API использовать — вообще кошмар)

P.S. Данный тест на плюсах по времени разрабатывался примерно столько же, сколько и шарповый. Может чуть дольше — приходилось вспоминать что там к чему
Re[4]: Сравнение производительности C# и C++
От: l33thaxor  
Дата: 25.11.07 22:50
Оценка: -4
Здравствуйте, AndreyR7, Вы писали:

AR>Здравствуйте, l33thaxor, Вы писали:


L>> public unsafe static MatrixComplex operator *(MatrixComplex left, MatrixComplex right)

AR>Кажется увидел слово unsafe? Здравствуй обратно ручное управление памятью?

... и досвиданья. unsafe не имеет никакого отношения к ручному управлению памяти. Учись, пока молод.

Я видел тут у некоторых такую зелененькую подпись: "эксперт". Пора вводить новую, ярко красную мигающую: "студент".
Re[5]: Сравнение производительности C# и C++
От: AndreyR7 Великобритания  
Дата: 26.11.07 06:56
Оценка: +3
Здравствуйте, l33thaxor, Вы писали:

AR>>Кажется увидел слово unsafe? Здравствуй обратно ручное управление памятью?

L>... и досвиданья. unsafe не имеет никакого отношения к ручному управлению памяти. Учись, пока молод.
Ну здрасьте, приехали. А значит арифметика указателей — это не ручное управление памятью? Или в управление памятью входит только операции new/delete(GC)? Или ошибки в плюсовых программах типа "BlahBlah. Memory can't be read" — это наверное неправильное использование оператора new?

Я имел в виду широкое понятие, не только выделение/освобождение, но и работа с памятью. И слово unsafe как раз об этом.

L>Я видел тут у некоторых такую зелененькую подпись: "эксперт". Пора вводить новую, ярко красную мигающую: "студент".

Ага. И синюю жирную "умник". Уважаемый l33thaxor, оставьте свое мнение при себе.
Re[5]: Сравнение производительности C# и C++
От: Delight  
Дата: 26.11.07 07:08
Оценка:
Здравствуйте, AndreyR7, Вы писали:

AR>Вовсе не факт. Проблема плюсов как правило в библиотеках, т.е. для разработки серьезных приложений нужно использовать библиотеки, которые не очень (а то и API использовать — вообще кошмар)


Если брать в расчёт простое набивание кода, то действительно можно поспорить. Если же учесть возможности современных IDE (вива Решарпер!), то C# ИМХО однозначно впереди.
... << RSDN@Home 1.2.0 alpha rev. 726>>
Re[6]: Сравнение производительности C# и C++
От: AndreyR7 Великобритания  
Дата: 26.11.07 07:24
Оценка:
Здравствуйте, Delight, Вы писали:

D>Если брать в расчёт простое набивание кода, то действительно можно поспорить. Если же учесть возможности современных IDE (вива Решарпер!), то C# ИМХО однозначно впереди.

Для MS VC++ есть (по крайней мере раньше был) Visual Assist, который очень неплохо со всем справлялся, где-то и получше решарпера. И памяти столько не кушал (хватало для разработки 128 мб RAM, сейчас с решарпером 1 гига мало, если несколько студий открывать)
Re[6]: Сравнение производительности C# и C++
От: l33thaxor  
Дата: 26.11.07 08:16
Оценка: -1
Здравствуйте, AndreyR7, Вы писали:

AR>Здравствуйте, l33thaxor, Вы писали:


AR>>>Кажется увидел слово unsafe? Здравствуй обратно ручное управление памятью?

L>>... и досвиданья. unsafe не имеет никакого отношения к ручному управлению памяти. Учись, пока молод.
AR>Ну здрасьте, приехали. А значит арифметика указателей — это не ручное управление памятью? Или в управление памятью входит только операции new/delete(GC)? Или ошибки в плюсовых программах типа "BlahBlah. Memory can't be read" — это наверное неправильное использование оператора new?

Не смешивай все в одну кучу. А то получится балаган, как с твоим бестолковым бенчмарком.

AR>Я имел в виду широкое понятие, не только выделение/освобождение, но и работа с памятью. И слово unsafe как раз об этом.


Люблю дискуссии на rsdn. Как только кто-нибудь пропирается, начинаются попытки подменить понятия. Ну, да ладно, по доброте души пошлю тебя на wikipedia:

Memory management is the act of managing computer memory. In its simpler forms, this involves providing ways to allocate portions of memory to programs at their request, and freeing it for reuse when no longer needed.


А то, что в моем коде происходит, называется pointer arithmetics. Это тебе на будущее, чтоб знал.

L>>Я видел тут у некоторых такую зелененькую подпись: "эксперт". Пора вводить новую, ярко красную мигающую: "студент".

AR>Ага. И синюю жирную "умник". Уважаемый l33thaxor, оставьте свое мнение при себе.

Иногда приходится учить студентов. Ничего не поделаешь.
Re[5]: Сравнение производительности C# и C++
От: MatFiz Россия  
Дата: 26.11.07 19:40
Оценка:
Здравствуйте, l33thaxor, Вы писали:

L>Я видел тут у некоторых такую зелененькую подпись: "эксперт". Пора вводить новую, ярко красную мигающую: "студент".


Ты сам себя к которым причисляешь?
Зелёненькой надписи рядом с твоим ником что-то не видно...
How are YOU doin'?
Re[6]: Сравнение производительности C# и C++
От: l33thaxor  
Дата: 27.11.07 07:56
Оценка:
Здравствуйте, MatFiz, Вы писали:

MF>Ты сам себя к которым причисляешь?


К MacLeod'ам, конечно.
Re[5]: Сравнение производительности C# и C++
От: Programador  
Дата: 01.12.07 13:06
Оценка:
Здравствуйте, COFF, Вы писали:

COF>Не, все правильно, условия уравниваются так — на C++ метод at и на C# метод at. То что на C++ этот метод заинлайнится является его преимуществом. У меня, например, как раз за счет инлайнов release версия часто работает на порядок быстрее debug. Без потери читаемости кода. К тому же в исходных условиях автор явно был против написания одной большой функции.


C++ метод at — уродство. Вопервых можно руками написать асерт, правда тут еще замут с стльной беззнаковостью. Нужно иметь возможность включать ранже, а где она?
Re: Сравнение производительности C# и C++
От: Programador  
Дата: 01.12.07 13:12
Оценка:
Здравствуйте, AndreyR7, Вы писали:

AR>1) Не использовать ничего стороннего. В случае C# — только managed код (никакого interop & unsafe) + .Net framework, в случае C++ — только сам язык + STL.

В STL комплех чем дальше тем чуднее, там проверки на нвалуе встречаются непонятно зачем, деление с лишней нормировкой. Ну и вообще наворочено
Re[4]: Сравнение производительности C# и C++
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 01.12.07 13:48
Оценка: 1 (1) +1
Здравствуйте, MatFiz, Вы писали:

MF>Здравствуйте, l33thaxor, Вы писали:


L>>Вот такой код MatrixComplex класса на C# уделывает первоначальный код на C++ на 25% (1.36s (C#) vs 1.75s (C++)):


MF>Может и уделывает, но согласись, это не C# уже в том виде, в котором его хочется видеть

А вам хочется чтобы и красиво, и быстро, и GC работал? Спуститесь на землю, такого не бывает.

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