S>>>>>>>http://www.rsdn.ru/forum/Message.aspx?mid=588009&only=1Автор:
Дата: 30.03.04
S>>>>>>> А вот скорости нужно сравнить
G_>>>>>>Нууу. Наличие стуктуры, то есть класса, урезанного по функционалу, это вообще не аргумент!
kuj>>>>>Структура и класс в .NET совсем разные понятия. Структура — value-type — передается по значению. Класс — reference-type — передается по ссылке. Но самое примечательно, value-type зачастую передаются заметно быстрее reference-type. Именно поэтому структуру в .NET ну никак нельзя считать урезанным классом.
G_>>>>Приведите, пожалуйста, пример задачи, которая решается с применением структуры и не может решиться
G_>>>>с применением класса вместо этой структуры.
BiТ>>>На вскидку — плотные вычисления над большими матрицами комплексных чисел.
.
G_>>А почему нельзя это сделать с помощью классов?
BiТ>Выделение большого количества памяти в куче гораздо более долгий процесс — нежели выделение того же объёма памяти в стеке.
Т.е. медленнее означает "нельзя"?
BiТ>P.S. А ещё лучше — сравните скорость создания больших (2048x2048) матриц с комплексными числами, в первом случае являющихся классами, а во втором — структурами.
Причем тут — матрица или не-матрица? Ясно, что создание большого объекта в куче займет больше времение чем операция sub esp, <большой_размер_объекта>