|
19.09.2008, 15:56 | #1 |
Модератор
|
Михаил Андреев
предлагаешь заработать $100 тыс. Сразу скажу SQL Server 2005 не подойдет |
|
05.01.2009, 16:32 | #2 |
Участник
|
C# 3.0 .NET 3.5 (VS2008)
Прикола ради решил померить в C# . Или я что-то не так мерил или для .Net подобный код, как "слону дробина". Кстати, несколько запусков подряд могут дать немного разный результат в миллисекундах, видимо это зависит от каких то там процессов протекающих в компе. Но в целом аналог Job-а AEliz_test выполняется существенно меньше секунды.
=== Итераций: 5000000, Секунд 0, Mиллисекунд 47 Итераций: 50000000, Секунд 0, Mиллисекунд 391 Итераций: 500000000, Секунд 4, Mиллисекунд -94 (поленился я все приводить к какой то одной единице, хотя для 500 000 000 скорее показательны секунды) === Мерил так: PHP код:
|
|
05.01.2009, 19:52 | #3 |
Участник
|
В каком режиме? В режиме компиляции в native код?
|
|
05.01.2009, 20:12 | #4 |
Участник
|
|
|
06.01.2009, 15:28 | #5 |
Участник
|
|
|
08.01.2009, 14:24 | #6 |
Участник
|
Нет, результатом компиляции .Net сборки является файл с метаданными и кодом на промежуточном языке (IL). Компиляция в машинный код каждого вызываемого метода происходит в момент первого вызова этого самого метода. При последующем вызове компиляции и верификации происходить не будет, будет использоваться уже скомпилированный в первый раз код. Если хочется избежать компиляции методов при их первом вызове, то действительно можно воспользоваться утилитой NGen.exe. NGen.exe компилирует IL код указанной сборки в машинный и сохраняет его в файле. Потом при запуске приложения CLR ищет предварительно скомпилированный файл и если он есть - загружает его, так что компиляция в период выполнения не производится. Но тут есть одно "но". Скомпилированный в момент выполнения код может быть более производительным, т.к. компиляция будет производится на том компьютере, на котором будет исполняться сборка, поэтому будет присутствовать некоторая оптимизация исходя из парамметров компьютера.
|
|
|
За это сообщение автора поблагодарили: mazzy (2), Lemming (2), alex55 (1). |
08.01.2009, 14:51 | #7 |
Участник
|
А в Аксапет такой Just-In-time компиляции нет? Может слышал что-нибудь?
|
|
08.01.2009, 17:58 | #8 |
Участник
|
Цитата:
У джавы, насколько я помню, есть два режима - клиент и сервер. В клиенте для быстрого старта иногда байткод интерпретируется, в сервере - всегда сначала компилируется (для большей производительности при большом аптайме). |
|
Теги |
1c, производительность, сравнение систем, ax3.0, ax4.0 |
|
|