Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Скорость вычисления корней квадратного уравнения 
:(
    Опции темы
iLents
Дата 21.5.2008, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 10
Регистрация: 16.5.2008

Репутация: нет
Всего: нет



Хм, почитал тут как все в Яве происходит, там сейчам полноценные компиляторы, т.е. два раза компилируется - сначала из исходного кода в байт-код, затем, уже в процессе исполнения, по байт-коду генерируется машинный код.

Напоследок такой тест сделал, на манагер памяти. Возвращаю класс

Код

type TSqrtCls = class
public
  x0: Double;
  x1: Double;
  D: Integer;
end;

function QuadraticTSqrtCls(const a:double; const b:double; const c:double):TSqrtCls;
var
t, d: double;
begin
  Result := TSqrtCls.create;
        (* degenerated cases *)
        if a = 0. then begin
            if b = 0. then begin
                if c = 0. then begin
                    Result.D := -3; Exit;
                end;
                Result.D := -2; Exit;
            end;
...


Освобождения памяти в тесте нет, т.е. тест идет с утечкой памяти. Аналогично в Java:

Код

    SqrtCls QuadraticSqrtCls(double a, double b, double c) {
        SqrtCls res = new SqrtCls();
        double d;
        /* degenerated cases */
        if (a == 0.) {
            if (b == 0.) {
                if (c == 0.){
                    res.D = -3;
                    return res;



Java - 281 ms, Delphi - 875 ms
PM MAIL   Вверх
Alexeis
Дата 21.5.2008, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 109
Всего: 459



iLents, попробуй протестировать на чем нибудь действительно сложном, так чтобы потери на всякие вызовы функций, передачи аргументов и инициализации не влияли на подсчет времени. Например посчитай фурье на 1048576 точек, передай файл случайных чисел. 
  Т.е. чтобы была всего одна итерация.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0869 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.