Оба проекта мне на мыло, если можно homm86 @ mail.ru . Если можно, то без мусора в виде исполняемых и временных файлов. Только файл проекта со всеми опциями и исходники.1) Delphi 7, optimize+, debug-, ConsApp
GetTickCount() заменил на GetTime(). Runtime 4100~4300 ms
2) .NET(csc&clr от .NET 3.5), optimize+, debug-, ConsApp
Была проведена маленькая оптимизация. Runtime 4950~5250 ms.
Win SP2, процессор Pentium D какой-то на 2.8 ГГц.
25% это очень смешно... Delphi 7 хлам. Я готов заплатить и 100% производительности взамен нативности, эффективности и поддержки современных веб, winApp и датабейз технологий.
.Net интерпретируется, а точнее компилируется из промежуточного кода, в момент запуска сборки, исполняется же чистый машинный код..Net как бы наоборот, не нативный, а полу-интерпретируемый код.
static void ArrayFunction(ref int[] nALocal)
{
nALocal[0] = 1;
}
.method private hidebysig static void ArrayFunction(int32[]& nALocal) cil managed
{
// Code size 7 (0x7)
.maxstack 8
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldind.ref
IL_0003: ldc.i4.0
IL_0004: ldc.i4.1
IL_0005: stelem.i4
IL_0006: ret
} // end of method Program::ArrayFunction
foreach (int n in nA)
{
Console.WriteLine(n.ToString());
}
.method private hidebysig static void ArrayFunction(int32[] nALocal) cil managed
{
// Code size 6 (0x6)
.maxstack 8
IL_0000: nop
IL_0001: ldarg.0
IL_0002: ldc.i4.0
IL_0003: ldc.i4.1
IL_0004: stelem.i4
IL_0005: ret
} // end of method Program::ArrayFunction
Народ, я тут тоже тут недавно начал кодить на языке С, говорили что для понимания лучше с++ 3,1!! Ну я вот немного покодил и решил на шарп перейти, может я конечно уже совсем, но я не нашел в осле си шарп, выложите ктонть ссылочку, ах да, вначале темы там ссылки на учебнички, так вот скажите, как открыть формат yjvu, как то так???
Все все все, все понял, извините за тупость))) Можно не отвечать))
например с помощью этого проекта http://www.codeplex.com/netasmможно ли в C# как-то добавить код на асме? (в с++ можно было)
выделить слово где?есть вопрос: какой компонент в МС visual studio позволяет выделить отдельное слово цветом? также просьбе написать методы, которые это позволяют
Тут дело не в языке а в среде .NET. Доводилось проводить тесты по быстродействию, т.е. бралась нативная программа реализующая некий алгоритм, потом данный алгоритм реализовывался под .NET. Падение производительности имело место всегда, т.е. не разу .NET программа не работала быстрее нативной. Естественно, если пользователь нажал на кнопку и программа выполнила что-то за 500 мсек вместо 250 мсек как обычно, то пользователю сложно увидеть разницу. Однако в случаях когда выполнялся какой-то итеративный, длительный процесс падение производительности было очень даже заметным. Разница в скорости доходила до 70%. Т.е. например программа делает множественные запросы к БД. Нативная за некий промежуток времени успевала сделать N запросов, .NET-овская делала то-же количество запросов за промежуток времени в 1.7 раза больший. Измерения проводились ещё на первой версии .NET Framework, сейчас ситуация может измениться, но разница всё равно видна.есть противоположное мнение. :shuffle: программы на C# работают быстрее на 5-10% за счет учета железной конфигурации машины при компиляции. впрочем на современных компьютерах эта разница практически неуловима и не имеет значения. ссылку на статистику не приведу, не упомню уже где видел.
один из несомненных минусов - .Net программы с "окошками" бешено жрут память. :cry2:
Я видел противоположные результаты тестов. Думаю, все зависит от железа, по аналогии с Вистой - на старом железе тормозит, на современном - работает быстрее ХР.Тут дело не в языке а в среде .NET. Доводилось проводить тесты по быстродействию, т.е. бралась нативная программа реализующая некий алгоритм, потом данный алгоритм реализовывался под .NET. Падение производительности имело место всегда, т.е. не разу .NET программа не работала быстрее нативной. Естественно, если пользователь нажал на кнопку и программа выполнила что-то за 500 мсек вместо 250 мсек как обычно, то пользователю сложно увидеть разницу. Однако в случаях когда выполнялся какой-то итеративный, длительный процесс падение производительности было очень даже заметным. Разница в скорости доходила до 70%. Т.е. например программа делает множественные запросы к БД. Нативная за некий промежуток времени успевала сделать N запросов, .NET-овская делала то-же количество запросов за промежуток времени в 1.7 раза больший. Измерения проводились ещё на первой версии .NET Framework, сейчас ситуация может измениться, но разница всё равно видна.