LINUX.ORG.RU
ФорумTalks

[Диплом][Осторожно, .Net][Эксперимент] Меряемся

 ,


0

2

Для диплома возникла необходимость собрать статистику производительности процессоров на конкретной задаче (это первый этап, во всяком случае). Суть эксперимента проста: скачать файл ftp://arbuzoff.org/Shared2/test.tar.bz2 и запустить. Это простейшее прототипное приложение на .Net. Исходник прилагается, как подтверждение чистоты помыслов. Необходимо запостить время работы приложения и характеристику процессора.

Пример:

AMD Athlon 64 2000Mhz (1 ядро) - 00:00:15.2109375

P.S. Не спорю, метод замеров попахивает быдлизмом.

P.P.S. На .Net, потому что быстро и прототип.

P.P.P.S. А Linux тут при том, что приложение изначально пишется под него на C++))

P.P.P.P.S. Хостюсь на частном сервере моего знакомого, посему может местами не работать.

P.P.P.P.P.S. Если тестируете в Mono, то сделайте соответствующую пометку.

Заранее благодарю.

👍

Последнее исправление: DarkAmateur (всего исправлений: 1)

i5-430M - 1 ядро - 00:00:11.1726391

devl547 👍👍
()
Ответ на: комментарий от MahMahoritos

Результаты экспериментов подвегнутся математической обработке, посему выписывать виражи на C++ сейчас нет смысла.

DarkAmateur 👍
() автор топика

E6400, одно ядро - 14.6сек

dk-
()
sectoid@dagon:~/Downloads/lor-test$ mono Test.exe 
Completed: 00:00:00.9663390.
See result in file 'result.txt'.
Thank you!


sectoid@dagon:~/Downloads/lor-test$ cat /proc/cpuinfo  | grep 'model name' | sort | uniq
model name	: Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
sectoid@dagon:~/Downloads/lor-test$ mono --version
Mono JIT compiler version 2.10.1 (master/0e21dbb)
Copyright (C) 2002-2011 Novell, Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  x86
	Disabled:      none
	Misc:          softdebug 
	LLVM:          supported, not enabled.
	GC:            Included Boehm (with typed GC and Parallel Mark)
Sectoid
()

не PSSSS, а PPPPPS надо. Ибо post post post ... scriptum.

true_admin
()

AMD Athlon 64 X2 5200+ 2600 МГц

Debian, x86_64, ядро 2.6.38

Mono JIT compiler version 2.6.7 (Debian 2.6.7-5)

результат 00:00:10.6942110

anonymous_incognito 👍
()
Ответ на: комментарий от DarkAmateur

> Ни в кой мере. Просто на .Net такие приложения быстрее сварганить.

Судя по исходнику на C++ ни разу не медленее. А на Perl ещё быстрее чем на C#. И заодно тестеров было бы больше, за счёт того, что Mono есть не у всех, а перл чуть менее чем на каждой линуксовой машине стоит.

P.S. Моно в данный момент не установлено, так что не протестил.

kim-roader
()

amd64x2/6000/family15/model67/k8/3000Mhz/15mp/bus200Mhz/HTL 1000Mhz 00:00:10.6093750

visual_pipe
()
Ответ на: комментарий от kim-roader

все равно тут большинство вендузятники :)
за пруфами - в счетчики сайта от мыло.ру

dk-
()

Intel(R) Core(TM)2 Duo CPU P8700 @ 2.53GHz - 0:00:09.1935330

dizza
()
$ mono SpeedTester.exe 
Completed: 00:00:13.0621410.
See result in file 'result.txt'.
Thank you!

$ cat /proc/cpuinfo | grep "model name"
model name	: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
model name	: AMD Athlon(tm) 64 X2 Dual Core Processor 4200+
Deleted
()

результат 00:00:16.6872400

процессор AMD Athlon(tm) XP 2600+

ОС Ubuntu 2.6.35-28-generic

Mono 2.6.7

nekto_m
()
Ответ на: комментарий от Ja-Ja-Hey-Ho
$ mono --version   
Mono JIT compiler version 2.8.2 (tarball Wed Feb 23 09:31:21 UTC 2011)
Copyright (C) 2002-2010 Novell, Inc and Contributors. www.mono-project.com
        TLS:           __thread
        SIGSEGV:       altstack
        Notifications: epoll
        Architecture:  amd64
        Disabled:      none
        Misc:          debugger softdebug 
        LLVM:          supported, not enabled.
        GC:            Included Boehm (with typed GC and Parallel Mark)
Ja-Ja-Hey-Ho
()
Ответ на: комментарий от Ja-Ja-Hey-Ho

Таки самому интересно. Зафиксирован второй случай. Бинарник закомпилен под .Net 2.0 в VS 2010.

Интуитивное предположение: автоматическое распараллеливание.

DarkAmateur 👍
() автор топика
Ответ на: комментарий от DarkAmateur

Вряд ли, тут что-то другое.

Потому что я откомпилировал Program.cs с помощью gmcs и получил 00:00:01.1516040 для своего 5200+

anonymous_incognito 👍
()
[alexv@myhost Downloads]$ mono ./SpeedTester.exe 
Completed: 00:00:08.9014340.
See result in file 'result.txt'.
Thank you!
[alexv@myhost Downloads]$ cat /proc/cpuinfo  | grep 'model name' | sort | uniq
model name      : AMD Phenom(tm) II X4 955 Processor
Loki13 👍👍👍👍
()
Ответ на: комментарий от Loki13
[alexv@myhost Downloads]$ gmcs ./Program.cs 
[alexv@myhost Downloads]$ mono ./Program.exe 
Completed: 00:00:00.8935190.
See result in file 'result.txt'.
Thank you!
Loki13 👍👍👍👍
()

AMD Turion X2 3.6 GHz 00:00:16.5000000 . Mandriva, Mono.
AMD Athlon X2 4200+ 00:00:13.3125000 . Mandriva, Mono.
AMD Athlon X2 3800+ 00:00:15.4062500 . Windows, бинарь из архива.
AMD Athlon X2 3800+ 00:00:01.8437500 . Windows, рекомпилено.

Да, я люблю продукцию AMD.

Sadler
()

> на .Net

При таком подходе хочется не только не помогать, но даже немного подгадить.

Smacker 😊😊😊😊😊
()

Completed: 00:00:07.7763280.
See result in file 'result.txt'.
Thank you!

Intel Core i5 2500.

Mono 2.6.7, Fedora 14 i686, 2.6.39 vanilla.

juk4windows
()
Ответ на: комментарий от DarkAmateur

> Это что за зверьё?

Эт ноут мой =) Не помню, что за проц конкретно. Знаю, что турион и 3.6 GHz. Уже посмотреть не могу - дал его погонять до завтра.

Sadler
()

AMD Athlon II X2 2800 MHz - 00:00:11.1186360

hibou
()

> P.S. Не спорю, метод замеров попахивает быдлизмом.

Равно как и формулировка задачи, в которой всё перевёрнуто с ног не голову:

производительности процессоров на конкретной задаче

fang
()

>P.P.S. На .Net, потому что быстро и прототип.

Я так и знал, что Python сделан для окончательных вариантов приложений, а также что это энтерпрайз!

Quasar
()
> mono SpeedTester.exe 
Completed: 00:00:10.2464810.
See result in file 'result.txt'.
Thank you!

AMD Athlon II X4 620

HighwayStar
()
$ mono SpeedTester.exe 
Completed: 00:00:08.9822440.
See result in file 'result.txt'.
Thank you!

$ gmcs Program.cs 
$ mono Program.exe 
Completed: 00:00:01.0693010.
See result in file 'result.txt'.
Thank you!

$ grep name /proc/cpuinfo |uniq
model name	: AMD Athlon(tm) II X2 250 Processor

Current Speed: 3183 MHz

x3al
()
Ответ на: комментарий от sdio

ИМХО - там такой цикл, что на этапе компиляции его вряд ли получится оптимизировать

Ja-Ja-Hey-Ho
()

Скомпилированный gmcs бинарник под виндой в виртуалбоксе тоже работает секунду.

x3al
()

Мне кажется или там синус всегда положительный? Зачем тогда брать его модуль?

Mono нету, так что тестировать не на чем.

Ускорение на порядок после рекомпиляции наводит на мысли о какой-то хитрой оптимизации математических функций, либо в архиве не нативный exe, а обычный байт-код в обертке. Такое вообще возможно?

delete83
()
Ответ на: комментарий от DarkAmateur

Должен быть, но можно ведь и в нативный код откомпилить. Может gmcs по умолчанию так и делает?

delete83
()

epic fail: r.Next(0, 1) будет всегда возвращать 0

r.NextDouble(): 00:00:01.8453230
r.Next(0, 1): 00:00:01.0195510
т.е. получаем разницу в скорости выполнении почти в 2 раза

Ja-Ja-Hey-Ho
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.