Re[12]: Плохая производительность полиморфных вызовов
От: _vovin http://www.pragmatic-architect.com
Дата: 01.11.02 11:17
Оценка:
Здравствуйте VladD2, Вы писали:

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


VD>

V>>Еще раз воспроизведу свои результаты:

V>>C# — 530/2030 (прямой/виртуальный)

V>>VC6 — 1370/1550

V>>VisualWorks — 1500

V>>Strongtalk — 700

V>>М-да. Но результат вполне согласуется с теорией.

V>>Только вот VC6 что-то подкачал на прямом вызове.
V>>Видимо, C# исключает внутренний вызов, а VC6 нет.

VD>Ты просто не добавил в VC6 опцию /Ob2. Если добавишь, то все встанет на свои места.


У меня реализация метода находится в cpp,
тогда эта опция не влияет.
Я думаю, только самые простые методы стоит
инлайнить, иначе придется часто перекомпилировать
множество файлов да и размер модуля станет большим.

VD>

VD>PS

VD>Ты на VB6 перепиши. Вот посмешся. По большому счету ведь Шарп с VB нужно сравнивать. Ведь простота разработки у него больше на VB походит, чем на С++.


Сравнение оно интересно не само по себе, а как
отражение проблем производительности в ОО программах.
Бенчмарки нужны правильные, а не только вычисление
детерминанта матрицы.
Re[9]: Плохая производительность полиморфных вызовов
От: ioni Россия  
Дата: 01.11.02 11:26
Оценка:
MMP>D:\My Documents\DotNet.exp\Exp\JavaVsC#\virtualPerf>bench
MMP>00:00:00.2002880
MMP>00:00:01.3419296
MMP>00:00:00.2002880

MMP>

MMP>javac ClassA.java
MMP>D:\My Documents\DotNet.exp\Exp\JavaVsC#\virtualPerf>java ClassA

MMP>370

MMP>1933
MMP>411

MMP>Так что сделали.


MMP>PS. JDK 1.4



http://www.fcenter.ru/softnews.shtml#material_id=4967
Re[13]: Плохая производительность полиморфных вызовов
От: VladD2 Российская Империя www.nemerle.org
Дата: 02.11.02 11:28
Оценка:
Здравствуйте _vovin, Вы писали:

VD>>Ты просто не добавил в VC6 опцию /Ob2. Если добавишь, то все встанет на свои места.


V>У меня реализация метода находится в cpp,

V>тогда эта опция не влияет.

Она всегда влияет. Эта опция заставляет подставлять маленькие функции вместо их вызова. Причем по фигу где описана функция.

V>Я думаю, только самые простые методы стоит

V>инлайнить, иначе придется часто перекомпилировать
V>множество файлов да и размер модуля станет большим.

Компилятору лучше видно какие методы простые, а какие сложные. Мы опытным путем выяснили, что врубание /Ob2 повышает скорость до 5-6 раз при разбухании программы на 10-20 процентов.

V>Бенчмарки нужны правильные, а не только вычисление

V>детерминанта матрицы.

Дык вноси прпдложения... Вот сейчас мы работаем над сравнением передачи данных по сети разными технологиями. Подумывали о создании большого компонзитного теста. Но ой как не просто создать равнаценные приложения на разных языках и платформах. Тестирование же вычислительной скорости хотя и приблизительно, но говорит о возможностях системы.
... << RSDN@Home 1.0 alpha VladD2.1.0.alpha 12.1.0.1028.36665 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[8]: Странность с производительностью
От: Lloyd Россия  
Дата: 04.11.02 06:22
Оценка:
Здравствуйте VladD2, Вы писали:

VD>В любом случае мерять лучше Environment.TickCount-ом.


Почему
Re[9]: Странность с производительностью
От: VladD2 Российская Империя www.nemerle.org
Дата: 04.11.02 22:34
Оценка:
Здравствуйте Lloyd, Вы писали:

VD>>В любом случае мерять лучше Environment.TickCount-ом.


L>Почему


Точность выше. Тем боле что соображений против нет вроде как.
... << RSDN@Home 1.0 alpha VladD2.1.0.alpha 12.1.0.1028.36665 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[10]: Странность с производительностью
От: Lloyd Россия  
Дата: 05.11.02 06:01
Оценка:
Здравствуйте VladD2, Вы писали:

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


VD>>>В любом случае мерять лучше Environment.TickCount-ом.


L>>Почему


VD>Точность выше. Тем боле что соображений против нет вроде как.


Точность здесь абсолютно не нужна. Так что соображений за тоже вроде как нет
Re[11]: Странность с производительностью
От: VladD2 Российская Империя www.nemerle.org
Дата: 06.11.02 18:39
Оценка:
Здравствуйте Lloyd, Вы писали:

L>Точность здесь абсолютно не нужна. Так что соображений за тоже вроде как нет


Точность она в любом деле нужна (с) пьяный мясник.
... << RSDN@Home 1.0 alpha VladD2.1.0.alpha 12.1.0.1028.36665 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[9]: Плохая производительность полиморфных вызовов
От: -=[x]=- Россия  
Дата: 01.08.06 01:55
Оценка:
Здравствуйте, MaxMP, Вы писали:

Эх, посмотрим что изменилось за это время:

C# 2.0.50727|java 1.5.0_07 client/server|java 1.6 beta 2 client/server
------------|--------------------|------|----------------------|------
54          |156                 |156   |110                   |140
1085        |719                 |344   |797                   |203
54          |156                 |125   |78                    |110
... << RSDN@Home 1.2.0 alpha rev. 643>>
icq: 118852038
Re[10]: Плохая производительность полиморфных вызовов
От: TK Лес кывт.рф
Дата: 01.08.06 05:52
Оценка:
Hello, "-=[x]=-"
> Здравствуйте, MaxMP, Вы писали:
>
> Эх, посмотрим что изменилось за это время:
>
> C# 2.0.50727|java 1.5.0_07 client/server|java 1.6 beta 2 client/server
> ------------|--------------------|------|----------------------|------
> 54          |156                 |156   |110                   |140
> 1085        |719                 |344   |797                   |203
> 54          |156                 |125   |78                    |110
>


Для чистоты эксперемента на методы стоит вешать
[MethodImpl(MethodImplOptions.NoInlining)].
А так, совершенно не понятно что именно было измерено... Насколько хорошо
JIT производит inline пустых методов?
Posted via RSDN NNTP Server 2.0
Если у Вас нет паранойи, то это еще не значит, что они за Вами не следят.
Re[11]: Плохая производительность полиморфных вызовов
От: -=[x]=- Россия  
Дата: 01.08.06 07:51
Оценка:
Здравствуйте, TK, Вы писали:

TK>Для чистоты эксперемента на методы стоит вешать

TK>[MethodImpl(MethodImplOptions.NoInlining)].
TK>А так, совершенно не понятно что именно было измерено... Насколько хорошо
TK>JIT производит inline пустых методов?

В топике не затрагивались вопросы чистоты экперимента
А если решить создать тест, то в любом случае он всех не удовлетворит...
по крайней мере, прогресс налицо...
... << RSDN@Home 1.2.0 alpha rev. 643>>
icq: 118852038
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.