Re[3]: Сравнение производительности Java 1.5 и .Net 2.0
От: WolfHound  
Дата: 08.11.05 10:48
Оценка: 1 (1) +4
Здравствуйте, anton_t, Вы писали:

WH>>А где исходники?

_>У автора теста вестимо.
Тест без исходников ничего не стоит ибо невозможно проверить его корректность.
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: Сравнение производительности Java 1.5 и .Net 2.0
От: marat321  
Дата: 07.11.05 13:53
Оценка: +4
Какой-то отчет куцый.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 07.11.05 11:57
Оценка: 1 (1) :)
http://www.bentuser.com/article.aspx?ID=323
Re[4]: Сравнение производительности Java 1.5 и .Net 2.0
От: rjikzy  
Дата: 11.11.05 10:50
Оценка: 1 (1)
Здравствуйте, WolfHound, Вы писали:

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


WH>>>А где исходники?

_>>У автора теста вестимо.
WH>Тест без исходников ничего не стоит ибо невозможно проверить его корректность.
Абсолютно согласен. Я сравнивал производительность сортировок Java и С, так вот, в среднем мои замеры показали что Java отстает от С на 10-12 процентов на массивах различной длинны (от 1000 до 100000). Если верить этому тесту, то .NET выполнит те же операции на 38%-40%, что само по себе абсурд. Так что все это провокация, это нереально.
Re: Сравнение производительности Java 1.5 и .Net 2.0
От: WolfHound  
Дата: 07.11.05 14:10
Оценка: +1
Здравствуйте, anton_t, Вы писали:

_>http://www.bentuser.com/article.aspx?ID=323

А где исходники?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[8]: Сравнение производительности Java 1.5 и .Net 2.0
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 15.11.05 08:32
Оценка: +1
Здравствуйте, anton_t, Вы писали:

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


R>>10000 — 03:00:02.0000032


_>Интересно, что с вычитанием дат не так? У меня 7 часов откуда-то появляются, у тебя 3.


Временная зона
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[9]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 12:24
Оценка: :)
Здравствуйте, rjikzy, Вы писали:

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


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


S>>>Получается, что diff — это дата от "начала времен": 7 утра 1 января 1970-го года...


_>>А каким образом посмотреть разницу между двумя датами в яве?


R>Вычисляем разницу в миллисекундах и смотрим.


И как мне эти миллисекунды перевести в секунды минуты часы?
Re[12]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 16.11.05 10:33
Оценка: :)
Здравствуйте, Bigger, Вы писали:

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


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


_>>Для тех кому смешно:


B>Пардон, ничего личного.


Принято
Re[2]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 08.11.05 04:29
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


_>>http://www.bentuser.com/article.aspx?ID=323

WH>А где исходники?

У автора теста вестимо.
Re: Сравнение производительности Java 1.5 и .Net 2.0
От: Obel  
Дата: 09.11.05 14:38
Оценка:
Здравствуйте, anton_t, Вы писали:

_>http://www.bentuser.com/article.aspx?ID=323


А с какими параметрами Java запускалась?
Re[5]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 13.11.05 12:58
Оценка:
Здравствуйте, rjikzy, Вы писали:

R>Абсолютно согласен. Я сравнивал производительность сортировок Java и С, так вот, в среднем мои замеры показали что Java отстает от С на 10-12 процентов на массивах различной длинны (от 1000 до 100000). Если верить этому тесту, то .NET выполнит те же операции на 38%-40%, что само по себе абсурд. Так что все это провокация, это нереально.


Program.cs:
using System;
using System.Collections.Generic;
using System.Text;

namespace SortSpeed
{
    class Program
    {
        static void Sort(double[] arr)
        {
            int len = arr.Length;
            bool notSorted = true;
            double tmp;
            while (notSorted) {
                notSorted = false;
                for (int i = 0; i < len - 1; ++i) {
                    if (arr[i] > arr[i + 1]) {
                        tmp = arr[i];
                        arr[i] = arr[i + 1];
                        arr[i + 1] = tmp;
                        notSorted = true;
                    }
                }
            }
        }

        static void Main(string[] args)
        {
            int len = 10000;
            try {
                len = int.Parse(args[0]);
            } catch (Exception ex){
            }

            double[] arr = new double[len];
            Random rand = new Random();
            for (int i = 0; i < len; i++) {
                arr[i] = rand.NextDouble();
            }
            DateTime d1 = DateTime.Now;
            Sort(arr);
            DateTime d2 = DateTime.Now;
            Console.Out.WriteLine(string.Format("{0} - {1}", len, (d2 - d1).ToString()));
        }
    }
}

test.java:
import java.util.Date;
import java.util.Random;
import java.text.SimpleDateFormat;

public class test
{
    public static void main(String[] args)
    {
        int len = 10000;
        try {
            len = Integer.parseInt(args[0]);
        } catch (Exception ex){
        }
        double[] arr = new double[len];
        Random rand = new Random();
        for (int i = 0; i < len; i++) {
            arr[i] = rand.nextDouble();
        }
        Date d1 = new Date();
        Sort(arr);
        Date d2 = new Date();
        Date diff = new Date(d2.getTime() - d1.getTime());
        SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss.SSSSSSS");
        System.out.println(len + " - " + format.format(diff));
    }

    static void Sort(double[] arr)
    {
        int len = arr.length;
        boolean notSorted = true;
        double tmp;
        while (notSorted) {
            notSorted = false;
            for (int i = 0; i < len - 1; ++i) {
                if (arr[i] > arr[i + 1]) {
                    tmp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = tmp;
                    notSorted = true;
                }
            }
        }
    }
}


Эксперимент:
D:\home\tests\SortSpeed>java test 40000
40000 - 07:00:20.0000453

D:\home\tests\SortSpeed>sortspeed 40000
40000 - 00:00:14.2655337

Я не специалист в Java, поэтому если уто-нибудь укажет, как побороть 7 часов, откуда-то вылезающие в явовской программе, то буду благодарен.
А так в общем видна разница в 30%.
Re[6]: Сравнение производительности Java 1.5 и .Net 2.0
От: rjikzy  
Дата: 14.11.05 08:08
Оценка:
Здравствуйте, anton_t, Вы писали:

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


R>>Абсолютно согласен. Я сравнивал производительность сортировок Java и С, так вот, в среднем мои замеры показали что Java отстает от С на 10-12 процентов на массивах различной длинны (от 1000 до 100000). Если верить этому тесту, то .NET выполнит те же операции на 38%-40%, что само по себе абсурд. Так что все это провокация, это нереально.


_>Program.cs:

_>
_>using System;
_>using System.Collections.Generic;
_>using System.Text;

_>namespace SortSpeed
_>{
_>    class Program
_>    {
_>        static void Sort(double[] arr)
_>        {
_>            int len = arr.Length;
_>            bool notSorted = true;
_>            double tmp;
_>            while (notSorted) {
_>                notSorted = false;
_>                for (int i = 0; i < len - 1; ++i) {
_>                    if (arr[i] > arr[i + 1]) {
_>                        tmp = arr[i];
_>                        arr[i] = arr[i + 1];
_>                        arr[i + 1] = tmp;
_>                        notSorted = true;
_>                    }
_>                }
_>            }
_>        }

_>        static void Main(string[] args)
_>        {
_>            int len = 10000;
_>            try {
_>                len = int.Parse(args[0]);
_>            } catch (Exception ex){
_>            }

_>            double[] arr = new double[len];
_>            Random rand = new Random();
_>            for (int i = 0; i < len; i++) {
_>                arr[i] = rand.NextDouble();
_>            }
_>            DateTime d1 = DateTime.Now;
_>            Sort(arr);
_>            DateTime d2 = DateTime.Now;
_>            Console.Out.WriteLine(string.Format("{0} - {1}", len, (d2 - d1).ToString()));
_>        }
_>    }
_>}
_>

_>test.java:
_>
_>import java.util.Date;
_>import java.util.Random;
_>import java.text.SimpleDateFormat;

_>public class test
_>{
_>    public static void main(String[] args)
_>    {
_>        int len = 10000;
_>        try {
_>            len = Integer.parseInt(args[0]);
_>        } catch (Exception ex){
_>        }
_>        double[] arr = new double[len];
_>        Random rand = new Random();
_>        for (int i = 0; i < len; i++) {
_>            arr[i] = rand.nextDouble();
_>        }
_>        Date d1 = new Date();
_>        Sort(arr);
_>        Date d2 = new Date();
_>        Date diff = new Date(d2.getTime() - d1.getTime());
_>        SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss.SSSSSSS");
_>        System.out.println(len + " - " + format.format(diff));
_>    }

_>    static void Sort(double[] arr)
_>    {
_>        int len = arr.length;
_>        boolean notSorted = true;
_>        double tmp;
_>        while (notSorted) {
_>            notSorted = false;
_>            for (int i = 0; i < len - 1; ++i) {
_>                if (arr[i] > arr[i + 1]) {
_>                    tmp = arr[i];
_>                    arr[i] = arr[i + 1];
_>                    arr[i + 1] = tmp;
_>                    notSorted = true;
_>                }
_>            }
_>        }
_>    }
_>}
_>


_>Эксперимент:

_>
_>D:\home\tests\SortSpeed>java test 40000
_>40000 - 07:00:20.0000453

_>D:\home\tests\SortSpeed>sortspeed 40000
_>40000 - 00:00:14.2655337
_>

_>Я не специалист в Java, поэтому если уто-нибудь укажет, как побороть 7 часов, откуда-то вылезающие в явовской программе, то буду благодарен.
_>А так в общем видна разница в 30%.

Яве необходимо "разогрется". Попробуйте перед началом сортировки "прогнать" несколько раз ее в цикле, а затем выполнить замер.
Re[6]: Сравнение производительности Java 1.5 и .Net 2.0
От: rjikzy  
Дата: 14.11.05 08:29
Оценка:
import java.util.Date;
import java.util.Random;
import java.text.SimpleDateFormat;

public class Test
{
public static void main(String[] args)
{
double[] arr;
int len = 10000;
for (int j = 0; j < 10; j++){
try {
len = Integer.parseInt(args[0]);
} catch (Exception ex){
}
arr = new double[len];
Random rand = new Random();
for (int i = 0; i < len; i++) {
arr[i] = rand.nextDouble();
}
Sort(arr);
}
arr = new double[len];
Random rand = new Random();
for (int i = 0; i < len; i++) {
arr[i] = rand.nextDouble();
}
Date d1 = new Date();
Sort(arr);
Date d2 = new Date();
SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss.SSSSSSS");
Date diff = new Date(d2.getTime() — d1.getTime());
System.out.println(len + " — " + format.format(diff));
}

static void Sort(double[] arr)
{
int len = arr.length;
boolean notSorted = true;
double tmp;
while (notSorted) {
notSorted = false;
for (int i = 0; i < len — 1; ++i) {
if (arr[i] > arr[i + 1]) {
tmp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = tmp;
notSorted = true;
}
}
}
}
}

Такой тест на моей машине дал следующий результат:
10000 — 03:00:02.0000032
т.е. чуть больше 2-х секунд. Запустите на своей, у мене нет .NET чтобы протестировать...
Re[7]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 14.11.05 09:51
Оценка:
Здравствуйте, rjikzy, Вы писали:

R>Такой тест на моей машине дал следующий результат:

R>10000 — 03:00:02.0000032
R>т.е. чуть больше 2-х секунд. Запустите на своей, у мене нет .NET чтобы протестировать...

Разница стала меньше
Re[8]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 14.11.05 09:56
Оценка:
Здравствуйте, anton_t, Вы писали:

Однако...
Я считал, что у .NET проблемы с тем, что ему нужно "разогреться", а оказывается такие проблемы у Java и в гораздо более острой форме.
Re[7]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 04:32
Оценка:
Здравствуйте, rjikzy, Вы писали:

R>10000 — 03:00:02.0000032


Интересно, что с вычитанием дат не так? У меня 7 часов откуда-то появляются, у тебя 3.
Re[9]: Сравнение производительности Java 1.5 и .Net 2.0
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.11.05 05:55
Оценка:
Здравствуйте, anton_t, Вы писали:
_>Однако...
_>Я считал, что у .NET проблемы с тем, что ему нужно "разогреться", а оказывается такие проблемы у Java и в гораздо более острой форме.
Естественно. Java давно применяет хотспоттинг, который еще только сделают в дотнете. Именно хотспоттинг и требует прогрева для получения статистики. Джит тратит время только на самом раннем этапе запуска.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 06:02
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Естественно. Java давно применяет хотспоттинг, который еще только сделают в дотнете. Именно хотспоттинг и требует прогрева для получения статистики. Джит тратит время только на самом раннем этапе запуска.


Что такое хотспоттинг?
Re[7]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 15.11.05 08:52
Оценка:
Здравствуйте, rjikzy, Вы писали:

R>import java.util.Date;

R>import java.util.Random;
R>import java.text.SimpleDateFormat;

R>public class Test

R>{
R> public static void main(String[] args)
R> {
R> double[] arr;
R> int len = 10000;
R> for (int j = 0; j < 10; j++){
R> try {
R> len = Integer.parseInt(args[0]);
R> } catch (Exception ex){
R> }
R> arr = new double[len];
R> Random rand = new Random();
R> for (int i = 0; i < len; i++) {
R> arr[i] = rand.nextDouble();
R> }
R> Sort(arr);
R> }
R> arr = new double[len];
R> Random rand = new Random();
R> for (int i = 0; i < len; i++) {
R> arr[i] = rand.nextDouble();
R> }
R> Date d1 = new Date();
R> Sort(arr);
R> Date d2 = new Date();
R> SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss.SSSSSSS");
R> Date diff = new Date(d2.getTime() — d1.getTime());
R> System.out.println(len + " — " + format.format(diff));
R> }

R> static void Sort(double[] arr)

R> {
R> int len = arr.length;
R> boolean notSorted = true;
R> double tmp;
R> while (notSorted) {
R> notSorted = false;
R> for (int i = 0; i < len — 1; ++i) {
R> if (arr[i] > arr[i + 1]) {
R> tmp = arr[i];
R> arr[i] = arr[i + 1];
R> arr[i + 1] = tmp;
R> notSorted = true;
R> }
R> }
R> }
R> }
R>}

R>Такой тест на моей машине дал следующий результат:

R>10000 — 03:00:02.0000032
R>т.е. чуть больше 2-х секунд. Запустите на своей, у мене нет .NET чтобы протестировать...
Re[7]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 15.11.05 08:58
Оценка:
R>Такой тест на моей машине дал следующий результат:
R>10000 — 03:00:02.0000032
R>т.е. чуть больше 2-х секунд. Запустите на своей, у мене нет .NET чтобы протестировать...

дожили... сортировку пузырьком тестируем.... короче на p2 2.4g сортировка выполняется за 33 миллисекунды. думаю в дотнет тоже самое.

import java.util.*;

public class Test11 {
public static void main(String [] args) {
double [] a = new double[100 * 1000];
Random r = new Random();

for (int i = 0; i < 100; i++) x(a, r);
for (int i = 0; i < a.length; i++) a[i] = r.nextDouble();
long start = System.nanoTime();
Arrays.sort(a);
long elapsed = System.nanoTime() — start;

System.out.println("Elapsed: " + elapsed);
}

private static void x(double [] a, Random r) {
for (int i = 0; i < a.length; i++) a[i] = r.nextDouble();
Arrays.sort(a);
}
}
Re[11]: Сравнение производительности Java 1.5 и .Net 2.0
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.11.05 09:05
Оценка:
Здравствуйте, anton_t, Вы писали:

_>Что такое хотспоттинг?

Динамическая оптимизация узких мест. См. http://en.wikipedia.org/wiki/HotSpot_%28Java%29
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Сравнение производительности Java 1.5 и .Net 2.0
От: slskor  
Дата: 15.11.05 11:38
Оценка:
Здравствуйте, anton_t, Вы писали:

_>Эксперимент:

_>
_>D:\home\tests\SortSpeed>java test 40000
_>40000 - 07:00:20.0000453

_>D:\home\tests\SortSpeed>sortspeed 40000
_>40000 - 00:00:14.2655337
_>

_>Я не специалист в Java, поэтому если уто-нибудь укажет, как побороть 7 часов, откуда-то вылезающие в явовской программе, то буду благодарен.

Грубая ошибка здесь:

Date diff = new Date(d2.getTime() — d1.getTime());

Получается, что diff — это дата от "начала времен": 7 утра 1 января 1970-го года...
Re[8]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 12:05
Оценка:
Здравствуйте, n0name2, Вы писали:

Ну во-первых, я не вижу принципиальной разницы какой метод сортировки использовать в данном случае. Во-вторых, не известно на сколько совпадают дефолтные реализации сортировок массива в .net и java.
Re[7]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 12:08
Оценка:
Здравствуйте, slskor, Вы писали:

S>Получается, что diff — это дата от "начала времен": 7 утра 1 января 1970-го года...


А каким образом посмотреть разницу между двумя датами в яве?
Re[8]: Сравнение производительности Java 1.5 и .Net 2.0
От: rjikzy  
Дата: 15.11.05 12:19
Оценка:
Здравствуйте, anton_t, Вы писали:

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


S>>Получается, что diff — это дата от "начала времен": 7 утра 1 января 1970-го года...


_>А каким образом посмотреть разницу между двумя датами в яве?


Вычисляем разницу в миллисекундах и смотрим.
Re[10]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 12:42
Оценка:
Здравствуйте, anton_t, Вы писали:

Для тех кому смешно: я знаю, что это можно сделать вручную, но мне кажется, что удобнее это поручить системе.
Re[9]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 15.11.05 13:00
Оценка:
_>Ну во-первых, я не вижу принципиальной разницы какой метод сортировки использовать в данном случае. Во-вторых, не известно на сколько совпадают дефолтные реализации сортировок массива в .net и java.

важно — тест должен быть хотябы как-то приближен к реальной жизни иначе на его основе не сделать выводов. если дефолтная реализация сортировки в дотнете не юзает квиксорт, то за одно это им надо объявить байкот.

кроме того, вы не совсем коректно меряете время. его надо мерять в наносекундах т.к. дефолтный таймер кривой.
Re[10]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 13:14
Оценка:
Здравствуйте, n0name2, Вы писали:

N>важно — тест должен быть хотябы как-то приближен к реальной жизни иначе на его основе не сделать выводов.


мне была интересна производительность платформ, а не кривизна рук программистов из майкрософт или сан.

N>если дефолтная реализация сортировки в дотнете не юзает квиксорт, то за одно это им надо объявить байкот.


юзает

N>кроме того, вы не совсем коректно меряете время. его надо мерять в наносекундах т.к. дефолтный таймер кривой.


Мне интересно было померять примерное соотношение производительности, а не наносекунды вымерять.
Re[8]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 15.11.05 13:15
Оценка:
Здравствуйте, anton_t, Вы писали:

_>Разница стала меньше

_>

я тут запустил эту сортировку пузырьком у себя. с клиентской JVM (по умолчанию) получилось ~1сек (для 10000). с серверной примерно ~0.5сек... попробуйте java -server Test и оно порвет дотнет как тузик грелку.
Re[9]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 13:20
Оценка:
Здравствуйте, n0name2, Вы писали:

N>я тут запустил эту сортировку пузырьком у себя. с клиентской JVM (по умолчанию) получилось ~1сек (для 10000). с серверной примерно ~0.5сек... попробуйте java -server Test и оно порвет дотнет как тузик грелку.


У меня SE установлен.
Re[11]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 15.11.05 13:21
Оценка:
_>Мне интересно было померять примерное соотношение производительности, а не наносекунды вымерять.

тогда используйте серверную ява машину (-server) а не ту которая заточена на время запуска программы. а еще лучше — скачайте bea jrockit последний (это пошустрее стандартной сановской реализации).

если все аккуратно делать то счет именно на наносекунды идет в случае сортировки очень короткого массива.
Re[10]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 15.11.05 13:26
Оценка:
_>У меня SE установлен.

в смысле Java5 SE? ну и что? у меня тоже. в SE есть обе версии JVM — клиентская и серверная.
Re[12]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 15.11.05 13:28
Оценка:
Здравствуйте, n0name2, Вы писали:

_>>Мне интересно было померять примерное соотношение производительности, а не наносекунды вымерять.


N>тогда используйте серверную ява машину (-server) а не ту которая заточена на время запуска программы. а еще лучше — скачайте bea jrockit последний (это пошустрее стандартной сановской реализации).


N>если все аккуратно делать то счет именно на наносекунды идет в случае сортировки очень короткого массива.


Проще массив длиннее сделать.
Re[11]: Сравнение производительности Java 1.5 и .Net 2.0
От: Andrei N.Sobchuck Украина www.smalltalk.ru
Дата: 15.11.05 13:29
Оценка:
Здравствуйте, anton_t, Вы писали:

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


_>Для тех кому смешно: я знаю, что это можно сделать вручную, но мне кажется, что удобнее это поручить системе.


Нужно в форматере установить временную зону. Типа:
SimpleDateFormat format = new SimpleDateFormat("hh:mm:ss.SSSSSSS");
format.setTimeZone(TimeZone.getTimeZone("GMT"));


Ну, или формат дополнить: "hh:mm:ss.SSSSSSS Z"
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Я ненавижу Hibernate
Автор: Andrei N.Sobchuck
Дата: 08.01.08
!
Re[11]: Сравнение производительности Java 1.5 и .Net 2.0
От: Sinclair Россия https://github.com/evilguest/
Дата: 15.11.05 13:46
Оценка:
Здравствуйте, anton_t, Вы писали:

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


_>Для тех кому смешно: я знаю, что это можно сделать вручную, но мне кажется, что удобнее это поручить системе.

Наверное, в жаве забыли реализовать TimeSpan.
1.1.4 stable rev. 510
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[10]: Сравнение производительности Java 1.5 и .Net 2.0
От: slskor  
Дата: 15.11.05 14:19
Оценка:
Здравствуйте, anton_t, Вы писали:

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


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


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


S>>>>Получается, что diff — это дата от "начала времен": 7 утра 1 января 1970-го года...


_>>>А каким образом посмотреть разницу между двумя датами в яве?


R>>Вычисляем разницу в миллисекундах и смотрим.


_>И как мне эти миллисекунды перевести в секунды минуты часы?


Например вот:

org.apache.commons.lang.time.DurationFormatUtils.formatPeriod
Re[13]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 15.11.05 14:32
Оценка:
_>Проще массив длиннее сделать.

тоже вариант, хотя пузырек дает квадратичную зависимость и ждать устанете. короче, запустил сортировку пузырьком на PIII ~900Mhz под .NET 1.0 (2.0 нету у меня) и Sun JDK 1.5 SE (client и server режимы).

.NET 1.0 (с прогревом): 3.334sec (10000)
Java -client (с прогревом): 3.307sec (10000)
Java -server (с прогревом): 1.502sec (10000)

ровно в 2 раза быстрее т.к. это сортировка пузырьком на бОльших массивах даже пробовать не стал (устанешь ждать).
конечно .NET 2.0 быстрее, но думаю что до Java -server все равно на этой тупой задаче не дотянет. все что хоть немного ближе к реальности будет примерно с одинаковой скоростью бегать.

скоро выйдет Java6 — там будет escape analysis и аллокация на стеке. порвет .NET в тупых микробенчмарках.
Re[6]: Сравнение производительности Java 1.5 и .Net 2.0
От: slskor  
Дата: 16.11.05 03:50
Оценка:
Здравствуйте, anton_t, Вы писали:

_>А так в общем видна разница в 30%.


Никакой разницы в 30% нету. Мои результаты (Java 1.5 vs .Net 2.0, никаких разогревов):

F:\>Program.exe 30000
30000 — 00:00:10.2900214

F:\>java test 30000
30000 — 07:00:10.0000712

F:\>Program.exe 50000
50000 — 00:00:29.2118310

F:\>java test 50000
50000 — 07:00:30.0000519

F:\>Program.exe 100000
100000 — 00:02:03.2954090

F:\>java test 100000
100000 — 07:02:16.0000394

F:\>java -server test 100000
100000 — 07:01:25.0000201

Re[11]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 16.11.05 04:33
Оценка:
Здравствуйте, n0name2, Вы писали:

_>>У меня SE установлен.


N>в смысле Java5 SE? ну и что? у меня тоже. в SE есть обе версии JVM — клиентская и серверная.


у меня нет

D:\home\tests\SortSpeed>java -server test2 10000
Error: no `server' JVM at `C:\Program Files\Java\jre1.5.0_01\bin\server\jvm.dll'.

Re[7]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 16.11.05 04:35
Оценка:
Здравствуйте, slskor, Вы писали:

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


_>>А так в общем видна разница в 30%.


S>Никакой разницы в 30% нету. Мои результаты (Java 1.5 vs .Net 2.0, никаких разогревов):


У тебя операционка какая? У меня Win2003 + SP1.
Re[8]: Сравнение производительности Java 1.5 и .Net 2.0
От: slskor  
Дата: 16.11.05 04:55
Оценка:
Здравствуйте, anton_t, Вы писали:

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


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


_>>>А так в общем видна разница в 30%.


S>>Никакой разницы в 30% нету. Мои результаты (Java 1.5 vs .Net 2.0, никаких разогревов):


_>У тебя операционка какая? У меня Win2003 + SP1.


Win XP Sp2, P-IV 2.8Ghz, 1Gb RAM
Re[11]: Сравнение производительности Java 1.5 и .Net 2.0
От: Bigger Российская Империя  
Дата: 16.11.05 09:24
Оценка:
Здравствуйте, anton_t, Вы писали:

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


_>Для тех кому смешно:


Пардон, ничего личного.

_>я знаю, что это можно сделать вручную, но мне кажется, что удобнее это поручить системе.


В этом нет сомнения, есть много вещей, которые лучше поручать системе

Программист — это шаман..., подарите бубен!
Re[12]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 16.11.05 09:55
Оценка:
Здравствуйте, anton_t, Вы писали:

_>

_>D:\home\tests\SortSpeed>java -server test2 10000
_>Error: no `server' JVM at `C:\Program Files\Java\jre1.5.0_01\bin\server\jvm.dll'.


ааа... ну так у вас только JRE (Java Runtime Environment)! это обычно ставят чтобы чиста аплеты запускать. там даже компилятора то нету, как вы собрали исходники? если у вас если javac то в томже каталоге должна быть и правильная java. а вообще нужно качать/юзать JDK (Java Development Kit) с java.sun.com

без -server вообще никаких тестов на скорость никогда не проводите, клиентская машина это отстой. и вообще, на таком тупом примере смысла мерять нет — все транслируется в машинный код почти такойже как если бы вы на ассемблере писали. вот если бы объекты создавались/удалялись, синхронизация была, ввод/вывод и т.д. тогда да...

кстати, ваш тест на занимаемую память тоже совершенно некоректен, особенно под виндой. JVM отъедает память про запас (чтобы много mallocов не делать) и потом ее распределяет. память уже отведенную под объекты можно посмотреть вроде вызвав какие-то методы у java.lang.System, лень в доку смотреть.
Re[13]: Сравнение производительности Java 1.5 и .Net 2.0
От: anton_t Россия  
Дата: 16.11.05 10:32
Оценка:
Здравствуйте, n0name2, Вы писали:

N>кстати, ваш тест на занимаемую память тоже совершенно некоректен, особенно под виндой. JVM отъедает память про запас (чтобы много mallocов не делать) и потом ее распределяет. память уже отведенную под объекты можно посмотреть вроде вызвав какие-то методы у java.lang.System, лень в доку смотреть.


А я разве проводил какой-нибудь тест на занимаемую память?
Re[14]: Сравнение производительности Java 1.5 и .Net 2.0
От: n0name2  
Дата: 16.11.05 11:14
Оценка:
Здравствуйте, anton_t, Вы писали:

_>А я разве проводил какой-нибудь тест на занимаемую память?


я имел в виду вот это (честно говоря подумал что это вы бенчмарк опубликовали...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.