Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Анализ программ


Автор: OlimYalgashev 4.3.2009, 09:20
Здраствуйте всем! Пожалуйста помогите разбиратся: Сколько времени работает , например, BigInteger.add()?  Извините за глупый вопрос, но это мне очень нужен. Для работы данный программы сколько времени требует? Нужен мне формула с участием параметра скорости компьютера...
Код

import java.math.BigDecimal;
class Sqrt {
    BigDecimal sqrt2() {
        BigDecimal x = new BigDecimal("1");
        BigDecimal a = new BigDecimal("0");
        BigDecimal ikki = new BigDecimal("2");
        BigDecimal yarim = new BigDecimal("0.5");
        for (int i=0; i<=7; i++) {
            a=ikki.divide(x, 300, 0);
            x=x.add(a);
            x=x.multiply(yarim);
        }
        return x;
    }
}

Код

class SquareRoot {
    public static void main(String args[]) {
        Sqrt sqrt = new Sqrt();
        System.out.println(sqrt.sqrt2());
    }
} 

Автор: powerOn 4.3.2009, 09:26
можно замерить время с помощью System.currentTimeMillis():

Код

long t1 = System.currentTimeMillis();
x=x.add(a);
long time = System.currentTimeMillis() - t1;


time - время выполнения участка кода.

Автор: ecologist 4.3.2009, 10:30
Я бы даже сделал цикл из нескольких добавлений, чтобы получить более-менее усредненное значение.

Автор: OlimYalgashev 4.3.2009, 12:14
Друзья мои, спасибо вам за ответы. А вы незнаете, есть у метода add() какая-то формула связанный с параметрами компьютерных частоту. Ну, да вот вопрос повторяется... или можете мне дать линк, которой можно найти полезную информацию об этом?

Автор: OlimYalgashev 4.3.2009, 15:36
Мне надо обосновыватъ алгоритм по теоритически, по этому я ищу число элементарных операций. Не знаете ли вы, есть документации по этой теме, или посоветуйте мне пожалуйста откуда и как можно найти об этом. Спасибо вам, друзья, за поддержки!!!

Автор: Andy_L20066 10.3.2009, 18:34
можна заюзать JProfiler для более глубокого анализа кода.... в нете должна быть трайал версия на 30 дней...

Автор: LSD 10.3.2009, 19:41
Цитата(OlimYalgashev @  4.3.2009,  15:36 Найти цитируемый пост)
Мне надо обосновыватъ алгоритм по теоритически, по этому я ищу число элементарных операций.

Что есть элементарная операция? Одна инструкция JVM? Одна инструкция процессора на котором выполняется программа?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)