BenchMark Java (скачать...) (многопоточность)
Модератор: Модераторы разделов
BenchMark Java (скачать...) (многопоточность)
Попробуйте программку которую я сам сделал
Она тестирует как ваш компьютер работает с Джавой (требует минимум Java 1.5)
Для консольной работы можно указать любой параметр, например -с
например java -jar Bench.jar 4 (это запустит ее в консоли на 4 потоках)
например java -jar Bench.jar -с (это запустит ее в консоли а потоки будут соответствовать количеству ядер в системе)
например java -jar Bench.jar (это запустит ее в графике а потоки будут соответствовать количеству ядер в системе)
А также можете протестировать насколько быстра Джава на разных операционных системах
новая версия - многопоточная(значительный прирост на многоядерных процессорах)
BenchMark Java скачать
BenchMark Java source
старая версия
BenchMark Java скачать
BenchMark Java source
Если случайно какието косяки с ссылками можете проверить здесь
Можете проверит джаву с опцией -server также (результат вырастит примерно в 1.5-2.5 раза)
указанные результаты других компов в тесте сделанные на джаве с опцией -client
Кстасти на компах с оперативой 2гига и выше ОС линукс джава по дефолту ставится в -server
в таком случае поставьте ручками опцию -client
Кстати можете выложить свои результаты
указывая:
ОС
Субверсию джава
CPU
MB
Тип памяти а также если в одноканальном и двухканальном режиме
Она тестирует как ваш компьютер работает с Джавой (требует минимум Java 1.5)
Для консольной работы можно указать любой параметр, например -с
например java -jar Bench.jar 4 (это запустит ее в консоли на 4 потоках)
например java -jar Bench.jar -с (это запустит ее в консоли а потоки будут соответствовать количеству ядер в системе)
например java -jar Bench.jar (это запустит ее в графике а потоки будут соответствовать количеству ядер в системе)
А также можете протестировать насколько быстра Джава на разных операционных системах
новая версия - многопоточная(значительный прирост на многоядерных процессорах)
BenchMark Java скачать
BenchMark Java source
старая версия
BenchMark Java скачать
BenchMark Java source
Если случайно какието косяки с ссылками можете проверить здесь
Можете проверит джаву с опцией -server также (результат вырастит примерно в 1.5-2.5 раза)
указанные результаты других компов в тесте сделанные на джаве с опцией -client
Кстасти на компах с оперативой 2гига и выше ОС линукс джава по дефолту ставится в -server
в таком случае поставьте ручками опцию -client
Кстати можете выложить свои результаты
указывая:
ОС
Субверсию джава
CPU
MB
Тип памяти а также если в одноканальном и двухканальном режиме
Re: BenchMark Java (скачать...) (многопоточность)
CPU: 62 | FPU: 62
Linux (Ubuntu 8.04)
java version "1.6.0_06"
Java™ SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot™ Client VM (build 10.0-b22, mixed mode, sharing)
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel® Celeron® CPU 2.66GHz
stepping : 1
cpu MHz : 2666.832
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc up pebs bts sync_rdtsc pni monitor ds_cpl cid xtpr
bogomips : 5338.27
clflush size : 64
Memory: 767364k/786368k available. Два димма, как нетрудно догадаться, не в двухканальном режиме
Re: BenchMark Java (скачать...) (многопоточность)
CPU 61 FPU 79
А кстати что это? Попугаи?
А кстати что это? Попугаи?
Re: BenchMark Java (скачать...) (многопоточность)
Да попугаи 100/100 имеет процессор которого я выбрал для сравнения Athlon X2 3600
Но хочу заметить пока тест использует только одно ядро - в будущем с оптимизирую на 4ядра
Кстати если у вас есть и линукс и виндовс на одной тачке можете протестировать и там и там а также разные виртуальные машины
А для улучшения результата теста повторите 3-5 раз и возьмите последние результаты
Кстати некоторые материнки под АМД не правильную скорость выдают под Линукс именно - результаты низкие и сильно вариируют
(подозреваю что тормозит драйвер процессора который повышает и понижает его частоту) в виндовс не встречал этот глюк
Есть два решения отключить Cool&Quite из биоса(выставить в disable)
или дать нагрузку потеряв всего 5% скорости теста например glxgears
Re: BenchMark Java (скачать...) (многопоточность)
А для улучшения результата теста повторите 3-5 раз и возьмите последние результаты
для тестирования используют либо первый результат, либо средний результат. к примеру, при тестировании скорости записи/чтения файла используют только первый(обычно), т.к. при многократном обращении к файлу ядро отправляет его в кэш страниц, либо производит опережающее чтение файла - что делает результаты теста неверными. особенно это касается оборудования.
- Ben Aceler
- Сообщения: 185
- ОС: Various Linux
- Контактная информация:
Re: BenchMark Java (скачать...) (многопоточность)
AMD писал(а): ↑29.06.2008 15:09Попробуйте программку которую я сам сделал
Она тестирует как ваш компьютер работает с Жавой (требует Java 1.6)
А также можете протестировать насколько быстра Жава на разных операционных системах
BenchMark Java скачать
Кстати можете выложить свои результаты
указывая:
ОС
Субверсию жава
CPU
MB
Тип памяти а также если в одноканальном и двухканальном режиме
CPU: 39 | FPU: 45
Mandriva 2008.1
1.6.0 (Sun)
AMD Athlon 1200
512 MB
Одноканальная DDR 333.
По программке - не влезает результат в поле, перед стартом собственно измерения хорошо бы менюшку скрывать, кнопок на "панели инструментов" маловато.
А пузомерки хороши
Re: BenchMark Java (скачать...) (многопоточность)
Код: Выделить всё
diesel@indie:~$ java Downloads/Bench.jar
Exception in thread "main" java.lang.NoClassDefFoundError: Downloads/Bench/jar
diesel@indie:~/Downloads$ java -jar Bench.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
diesel@indie:~$ java -version
java version "1.5.0_13"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237)
Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing)
diesel@indie:~$ uname -a
Darwin indie.local 9.3.0 Darwin Kernel Version 9.3.0: Fri May 23 00:49:16 PDT 2008; root:xnu-1228.5.18~1/RELEASE_I386 i386
или я шото не так делаю? как эту хрень запускать?
Re: BenchMark Java (скачать...) (многопоточность)
аналогично:
Код:
megahertz@megahertz-pc:~$ java /home/megahertz/Desktop/Скачивание/Bench.jar
Exception in thread "main" java.lang.NoClassDefFoundError: /home/megahertz/Desktop/Скачивание/Bench.jar
megahertz@megahertz-pc:~$ java -version && uname -a
java version "1.5.0_14"
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
Java HotSpot™ Client VM (build 1.5.0_14-b03, mixed mode, sharing)
Linux megahertz-pc 2.6.18-6-686 #1 SMP Fri Jun 6 22:22:11 UTC 2008 i686 GNU/Linux
Re: BenchMark Java (скачать...) (многопоточность)
java -jar Bench.jar
Re: BenchMark Java (скачать...) (многопоточность)
diesel писал(а): ↑29.06.2008 21:54Код: Выделить всё
diesel@indie:~$ java Downloads/Bench.jar Exception in thread "main" java.lang.NoClassDefFoundError: Downloads/Bench/jar diesel@indie:~/Downloads$ java -jar Bench.jar Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:675) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:316) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374) diesel@indie:~$ java -version java version "1.5.0_13" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_13-b05-237) Java HotSpot(TM) Client VM (build 1.5.0_13-119, mixed mode, sharing) diesel@indie:~$ uname -a Darwin indie.local 9.3.0 Darwin Kernel Version 9.3.0: Fri May 23 00:49:16 PDT 2008; root:xnu-1228.5.18~1/RELEASE_I386 i386
или я шото не так делаю? как эту хрень запускать?
1. java -jar *.jar
2. если в кедах нажмите правую кнопку и запустите в [sun java ....]
Re: BenchMark Java (скачать...) (многопоточность)
ну дык:
Код: Выделить всё
diesel@indie:~/Downloads$ java -jar Bench.jar
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:675)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:316)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
о! запустил на SuSE 11, это еще и GUI чего ей надо чтобы запускаться хоть бы сказал, потому что на безХовом debian'е и Маке я вижу примерно одно и тоже - смотри выше
По поводу того на чем запустилось: Semptron Mobile 3400+/RAM 2Gb; java 1.6.0_06, SuSE 11, x32; CPU:91, FPU: 60
Re: BenchMark Java (скачать...) (многопоточность)
*
По программке - не влезает результат в поле, перед стартом собственно измерения хорошо бы менюшку скрывать, кнопок на "панели инструментов" маловато.
А пузомерки хороши smile.gif
Не влезает потомучто размер графика пропорционален но наведите мышку и появится подсказка с результатом
Планирую сделать полупрозрачные графики и результат будет виден сквозь них
Кстати в ближайшее время улучшу программу
предлагайте предложения и высказывайте претензии - ведь критика исправляет человека
java -jar *.jar
ну дык:
Код: Выделить всё
diesel@indie:~/Downloads$ java -jar Bench.jar Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:675) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$100(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:316) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:280) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:374)
Установи java 1.6 (6-я жава) - у тебя java 1.5 (5-я)
можешь проверить java -version
аналогично:
Код: Выделить всё
megahertz@megahertz-pc:~$ java /home/megahertz/Desktop/Скачивание/Bench.jar
Exception in thread "main" java.lang.NoClassDefFoundError: /home/megahertz/Desktop/Скачивание/Bench.jar
megahertz@megahertz-pc:~$ java -version && uname -a
java version "1.5.0_14"
Java™ 2 Runtime Environment, Standard Edition (build 1.5.0_14-b03)
Java HotSpot™ Client VM (build 1.5.0_14-b03, mixed mode, sharing)
Linux megahertz-pc 2.6.18-6-686 #1 SMP Fri Jun 6 22:22:11 UTC 2008 i686 GNU/Linux
Тоже самое поставь 6-ю жаву 5-я уже старье
Re: BenchMark Java (скачать...) (многопоточность)
Тоже самое поставь 6-ю жаву 5-я уже старье
А как же хвалёная переносимость и работа где угодно?..
Re: BenchMark Java (скачать...) (многопоточность)
хотелось бы увидеть ее исходный код . как-то странно LinuxForum, а для ознакомления бинарник)
пожелания:
1) версия программы для систем без X.
2) если уж не можешь позаботится о совместимости со старыми версиями Java Runtime создай для каждой из них отдельную программу))), не в упрек - мне просто хочется попробовать твою программу) у меня Debian Etch так что об апгрейде на 6 придется забыть(
пожелания:
1) версия программы для систем без X.
2) если уж не можешь позаботится о совместимости со старыми версиями Java Runtime создай для каждой из них отдельную программу))), не в упрек - мне просто хочется попробовать твою программу) у меня Debian Etch так что об апгрейде на 6 придется забыть(
Re: BenchMark Java (скачать...) (многопоточность)
RasenHerz писал(а): ↑30.06.2008 01:11хотелось бы увидеть ее исходный код . как-то странно LinuxForum, а для ознакомления бинарник)
пожелания:
1) версия программы для систем без X.
2) если уж не можешь позаботится о совместимости со старыми версиями Java Runtime создай для каждой из них отдельную программу))), не в упрек - мне просто хочется попробовать твою программу) у меня Debian Etch так что об апгрейде на 6 придется забыть(
Ваши пожелания выполнены
вот с консолью это уже на потом
Re: BenchMark Java (скачать...) (многопоточность)
Кросс платформенность заключается в том что существуют виртуальные машины для разных операционных систем и для обеспечения совместимости надо обновлять виртуальную машину
Нельзя говорить что твой GeForce 7600GT не совместим с FarCry потому что драйвера глючат - достаточно скачать новые драйвера и наслаждаться
Re: BenchMark Java (скачать...) (многопоточность)
Так а в чем проблема? Оформить логику в отдельный класс и добавить вывод в поток У меня пять минут отняло, вот результат:
Код: Выделить всё
import java.io.PrintStream;
import javax.swing.JLabel;
public class Benchmark {
private int resultCPU;
private int resultFPU;
public void benchAction() {
final long FPU=bench(); //1219
final long CPU=benchOOP(); //1562
this.resultCPU = (int)((1520*100)/CPU);
this.resultFPU = (int)((1220*100)/FPU);
}
private long bench() {
long t=System.currentTimeMillis();
int n=100000000;
double nr=14.57d, sum=0.15;
boolean up=false;
int z=0;
for(int i=0;i<n;i++) {
if (nr>1000) {up=false;z++;};
if (nr<0) {up=true;z++;};
if (up) {nr+=(sum*0.15/145.21456456454647);} else {nr-=(sum*0.16/115.24546456447);}
}
return System.currentTimeMillis()-t;
}
private long benchOOP(){
long t=System.currentTimeMillis();
int n=200000;
JLabel jl=null,bl=null;
for(int i=0;i<n;i++) {
jl=new JLabel("a"+i);bl=jl;
jl=null;
}
jl=bl;
return System.currentTimeMillis()-t;
}
public int getResultCPU() { return this.resultCPU; }
public int getResultFPU() { return this.resultFPU; }
public void printResult( PrintStream out ) {
out.println("Java:"+System.getProperty("java.vm.name")+"/"+
System.getProperty("java.runtime.version")+"/"+
System.getProperty("java.version") );
out.println("OS :"+System.getProperty("os.name")+" "+
System.getProperty("os.arch")+" "+
System.getProperty("os.version") );
out.println("CPU:"+this.resultCPU);
out.println("FPU:"+this.resultFPU);
out.println();
}
public static void main(String[] args) {
Benchmark benchmark = new Benchmark();
benchmark.benchAction(); benchmark.printResult( System.out );
System.exit(0);
}
}
На моих машинках результаты такие:
1. Fedora 9, Intel Celeron M440 @ 1.86GHz, 1Gb RAM:
Java:OpenJDK Client VM/1.6.0-b09/1.6.0
OS :Linux i386 2.6.25.6-55.fc9.i686
CPU:91
FPU:58
Java:Java HotSpot Client VM/1.6.0_06-b02/1.6.0_06
OS :Linux i386 2.6.25.6-55.fc9.i686
CPU:88
FPU:58
2. RHEL 4, Pentium 4 3.2GHz, 1Gb RAM
Java:Java HotSpot Client VM/1.6.0_06-b02/1.6.0_06
OS :Linux i386 2.6.9-5.ELsmp
CPU:53
FPU:78
3. Solaris 8, 2x1.5 GHz UltraSPARC (Sun-Fire-V240)
Java:Java HotSpot Server VM/1.6.0_06-b02/1.6.0_06
OS :SunOS sparc 5.8
CPU:26
FPU:78
Обратите внимание на режим Client/Server. Это важная опция влияющая на производительность.
Если явно не указана опция -server или -client Sun JVM сама определяет какой тип применить.
На Винде - это всегда Client.
На Solaris SPARC 32bit и Linux 32bit JVM определяет класс машины исходя из количества CPU и памяти: For Java SE 6, the definition of a server-class machine is one with at least 2 CPUs and at least 2GB of physical memory..
На 64-bit системах (включая Винды) - всегда используется режим Server, опция -client игнорируется.
Естественно это все про Sun JVM. Все это шаманство началось с J2SE 5.0.
Различие между режимами? Как сказано в той же документации - In general, the server VM starts up more slowly than the client VM, but over time runs more quickly.
Re: BenchMark Java (скачать...) (многопоточность)
пять минут отняло - это чтобы вывести результат
но надо добавить немного красивостей - псевдографику в консоли а также нарисовать результаты других компов
а вот это уже далеко не 5минут
Конечно любое уделенное время приветствуется
Re: BenchMark Java (скачать...) (многопоточность)
Или я чего-то не понимаю... Более-менее стабильно CPU: 230 | FPU: 265. Что-то многовато попугаев получается...
P.S. Athlon X2 5200+, 4Gb, OpenSuSe 10.3, 64bit, Java 1.5.0_15-b04.
P.S. Athlon X2 5200+, 4Gb, OpenSuSe 10.3, 64bit, Java 1.5.0_15-b04.
Re: BenchMark Java (скачать...) (многопоточность)
А! Ну раз такое громадьё планов то конечно Может стоит задуматься завести проект на sf.net?
Re: BenchMark Java (скачать...) (многопоточность)
Консольная версия заработала
MacBook, Core 2 Duo, 2.67GHz, RAM 1Gb
Код: Выделить всё
diesel@indie:~/bench$ java Benchmark
Java:Java HotSpot(TM) Client VM/1.5.0_13-b05-237/1.5.0_13
OS :Mac OS X i386 10.5.3
CPU:24
FPU:124
MacBook, Core 2 Duo, 2.67GHz, RAM 1Gb
Re: BenchMark Java (скачать...) (многопоточность)
Я тоже заметил при 2гигов оперативы и больше и только под линуксом результаты растут сильно - это не относится к Windows XP хотя не пробовал на windows Server
- sarutobi
- Сообщения: 676
- Статус: Добрость и скромнота
- ОС: Debian 5, FreeBSD 6.2/8.0
- Контактная информация:
Re: BenchMark Java (скачать...) (многопоточность)
Немного поработал над исходным проектом.... Результат в аттаче. Запускается по умолчанию в консольном варианте, для запуска графики нужно добавить ключ -g (java -jar NBM.jar -g). Исходники внутри архива.
Fire and water, earth and sky - mistery surrounds us, legends never die!
Re: BenchMark Java (скачать...) (многопоточность)
sarutobi, что-то показания в консоли и в графике отличаются CPU: 79 vs 104, ну и с каждым замером показатели меняются.
LightLang Team
Re: BenchMark Java (скачать...) (многопоточность)
Мне кажется что результаты меняются потомучто свою лепту вносит JIT Компиляция
- sarutobi
- Сообщения: 676
- Статус: Добрость и скромнота
- ОС: Debian 5, FreeBSD 6.2/8.0
- Контактная информация:
Re: BenchMark Java (скачать...) (многопоточность)
странно... там один и тот же вызов идет - по исходникам можно посмореть..... у меня показания чуть отличаются (92, 97, 100, 101, 98....) при последовательных запусках в графике и в консоли. Зато другую ошибку нашел - при последовательном вызове бенчмарка в графике предыдущие результаты не удаляются. Надо поправить....
Насчет JIT компиляции - она происходит при каждом запуске. Я тут попробовал запустить с опцией -server - так у меня FPU зашкалило, а CPU практически не изменилось...... хотя должно было.
Модераторы - может, стоит тему в "проекты" перевести?
Fire and water, earth and sky - mistery surrounds us, legends never die!
Re: BenchMark Java (скачать...) (многопоточность)
Можете скачать обновленную версию
+улучшенный алгоритм работы но требует больше времени теперь надо подождать секунд 10-40
+добавлена консольная работа (для этого можно указать любой параметр например -с)
+улучшенный алгоритм работы но требует больше времени теперь надо подождать секунд 10-40
+добавлена консольная работа (для этого можно указать любой параметр например -с)
Re: BenchMark Java (скачать...) (многопоточность)
господа, просим на SourceForge.net ! регать проект!)
Re: BenchMark Java (скачать...) (многопоточность)
Кстати если уже претензий нет к самой программе, можете вставить в проектах форума