Ada_Ru форум

Обсуждение языка Ада

GNAT for Win "delay until" bug. Страница 2

Оставить новое сообщение

Сообщения

--- In ada_ru@yahoogroups.com, Vasiliy Fofanov <fofanov@...> wrote:

 

На вопросы интересующихся, да, делал я в прошлом репорты, потом

бросил, за бессмысленностью оного занятия.

 

Наверное вы неплохо конспирировались делая репорты, ни одного упоминания слова kazakov в нашей базе нет, если не считать свеженького сообщения по поводу gtkada. Не перечислите ли присвоенные вашим репортам номера? Буду очень благода.

 

Это скорее всего потому, что я бросил это занятие еще на версии 3.14. Где-то в тот момент, когда Роберт Дьюар перестал читать comp.lang.ada. Последний экземпляр с расширяемыми типами с тех еще времен. А позже, был только один раз, кто-то в comp.lang.ada (не из AdaCore) запарил мне мозги, на счет Bugzilla, и я сунулся туда - GCC Bugzilla Bug 24381

- статус UNCONFIRMED по сию пору.

 

А что за база, кстати? Может там и schedule есть, в какой версии что будет исправлено?

--- In ada_ru@yahoogroups.com, Dmitriy Anisimkov <anisimkov@...> wrote:

Stamp := Clock;

delay until Stamp + 10.0;

Log (Duration'Image (Clock - Stamp) & GNAT.Calendar.Time_IO.Image (Stamp, " %y-%m-%d %T.%i"));

 

íÉÎÕÔÏÞËÕ, ÜÔÏ Ñ ÕÖÅ ËÏÍÍÅÎÔÉÒÏ×ÁÌ - 100% ÎÅ ÏÛÉÂËÁ. ôÏÞÎÏÓÔØ delay until (ARM D.9) ÏÐÒÅÄÅÌÅÎÁ ËÁË ÏÔËÌÏÎÅÎÉÅ Clock-(Stamp+10.0) ÏÔ 0.0. ðÒÉÞÅÍ, Stamp+10.0 ×ÙÞÉÓÌÑÅÔÓÑ äï ÚÁÐÕÓËÁ delay until. á Clock-Stamp ÍÏÖÅÔ ÂÙÔØ ÌÀÂÙÍ.

kazakov1961 wrote:

 

--- In ada_ru@yahoogroups.com <mailto:ada_ru%40yahoogroups.com>, Dmitriy Anisimkov <anisimkov@...> wrote:

Stamp := Clock;

delay until Stamp + 10.0;

Log (Duration'Image (Clock - Stamp) & GNAT.Calendar.Time_IO.Image (Stamp, " %y-%m-%d %T.%i"));

 

Минуточку, это я уже комментировал - 100% не ошибка. Точность delay until (ARM D.9) определена как отклонение Clock-(Stamp+10.0) от 0.0. Причем, Stamp+10.0 вычисляется ДО запуска delay until. А Clock-Stamp может быть любым.

 

Как это любым ?

Неужели отклонение на 2 секудны от 10 Вы считаете нормой в этом случае ?

--- In ada_ru@yahoogroups.com, Dmitriy Anisimkov <anisimkov@...> wrote:

 

kazakov1961 wrote:

 

--- In ada_ru@yahoogroups.com <mailto:ada_ru%40yahoogroups.com>, Dmitriy Anisimkov <anisimkov@> wrote:

Stamp := Clock;

delay until Stamp + 10.0;

Log (Duration'Image (Clock - Stamp) & GNAT.Calendar.Time_IO.Image (Stamp, " %y-%m-%d %T.%i"));

 

íÉÎÕÔÏÞËÕ, ÜÔÏ Ñ ÕÖÅ ËÏÍÍÅÎÔÉÒÏ×ÁÌ - 100% ÎÅ ÏÛÉÂËÁ. ôÏÞÎÏÓÔØ delay until (ARM D.9) ÏÐÒÅÄÅÌÅÎÁ ËÁË ÏÔËÌÏÎÅÎÉÅ Clock-(Stamp+10.0) ÏÔ 0.0. ðÒÉÞÅÍ, Stamp+10.0 ×ÙÞÉÓÌÑÅÔÓÑ äï ÚÁÐÕÓËÁ delay until. á Clock-Stamp ÍÏÖÅÔ ÂÙÔØ ÌÀÂÙÍ.

 

ëÁË ÜÔÏ ÌÀÂÙÍ ?

îÅÕÖÅÌÉ ÏÔËÌÏÎÅÎÉÅ ÎÁ 2 ÓÅËÕÄÎÙ ÏÔ 10 ÷Ù ÓÞÉÔÁÅÔÅ ÎÏÒÍÏÊ × ÜÔÏÍ ÓÌÕÞÁÅ ?

 

âÅÚÕÓÌÏ×ÎÏ. ëÓÔÁÔÉ ÏÔËÌÏÎÅÎÉÅ ÏÔ 10, ÎÁ ÓÁÍÏÍ ÄÅÌÅ, ÂÌÉÚËÏ Ë 0, ÔÁË ËÁË ÓÞÉÔÁÔØÓÑ ÏÎÏ ÄÏÌÖÎÏ ËÁË:

 

(Clock+10.0)-(Stamp+10.0)

 

æÏËÕÓ × ÔÏÍ, ÞÔÏ ÅÓÌÉ ÒÅÞØ ÉÄÅÔ Ï delay until, ÔÏ 10.0 ÎÅ ËÏÎÓÔÁÎÔÁ, Á ÚÁ×ÉÓÉÔ ÏÔ ×ÒÅÍÅÎÉ. ðÏÓËÏÌØËÕ ×ÒÅÍÑ ÓËÁÞÅÔ, 10.0 - ÔÏÖÅ. ôÁË ÞÔÏ

 

(Clock+10.0)-(Stamp+10.0) /= Clock-Stamp

 

, ÄÅÓÑÔËÉ ÔÕÔ ÒÁÚÎÙÅ, ÉÚ ÒÁÚÎÙÈ ×ÒÅÍ£Î. é, ÐÏ-ÖÉÚÎÉ, ÒÁÚÎÉÃÁ ÍÏÖÅÔ ÂÙÔØ É ÂÏÌØÛÅ ÞÅÍ 2Ó.

 

åÓÌÉ ×ÁÖÅÎ ÉÎÔÅÒ×ÁÌ, ÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÌÅÄÕÅÔ ÐÒÏÓÔÏÊ delay. åÇÏ

ÔÏÞÎÏÓÔØ ÏÐÒÅÄÅÌÅÎÁ ÉÍÅÎÎÏ ËÁË Clock-Stamp. îÏ ÔÏÇÄÁ, ÂÕÄÅÔ ÐÒÙÇÁÔØ (Clock+10.0)-(Stamp+10.0). é ÔÏ, É ÄÒÕÇÏÅ ÉÍÅÔØ ÎÅÌØÚÑ. ÷ÅÒÎÅÅ ÍÏÖÎÏ, ÎÏ ÌÉÛØ × ÔÏÊ ÓÔÅÐÅÎÉ ËÁË ÜÔÏ ÐÏÚ×ÏÌÑÅÔ ÖÅÌÅÚÏ + ïó + ËÏÎÆÉÇÕÒÁÃÉÑ, ÏÔ×ÅÔÓÔ×ÅÎÎÙÅ ÚÁ ÓÉÈÒÏÎÉÚÁÃÉÀ ÓÉÓÔÅÍÎÙÈ ÞÁÓÏ× É ÔÉËÏ×. ÷ ÎÁÛÅÍ ÓÌÕÞÁÅ: 2Ó.

kazakov1961 wrote:

 

--- In ada_ru@yahoogroups.com <mailto:ada_ru%40yahoogroups.com>, Dmitriy Anisimkov <anisimkov@...> wrote:

 

kazakov1961 wrote:

 

--- In ada_ru@yahoogroups.com <mailto:ada_ru%40yahoogroups.com>

<mailto:ada_ru%40yahoogroups.com>,

Dmitriy Anisimkov <anisimkov@> wrote:

Stamp := Clock;

delay until Stamp + 10.0;

Log (Duration'Image (Clock - Stamp) & GNAT.Calendar.Time_IO.Image (Stamp, " %y-%m-%d %T.%i"));

 

Минуточку, это я уже комментировал - 100% не ошибка. Точность delay until (ARM D.9) определена как отклонение Clock-(Stamp+10.0) от 0.0. Причем, Stamp+10.0 вычисляется ДО запуска delay until. А Clock-Stamp может быть любым.

 

Как это любым ?

Неужели отклонение на 2 секудны от 10 Вы считаете нормой в этом случае ?

 

Безусловно. Кстати отклонение от 10, на самом деле, близко к 0,

 

Ни вижу логики в Ваших рассуждениях. Мне кажется Вы запутались просто. Stamp + 10 на начало delay untill отстоит на 10 секунд в будущем. и после dealy untill значение Clock должно равняться примерно Stamp + 10 то есть Clock - Stamp должно быть около 10 но никак не 12-ти.

 

P.S. Если бы вы писали в plain teхt мне было бы гораздо удобнее отвечать.

--- In ada_ru@yahoogroups.com, Dmitriy Anisimkov <anisimkov@...> wrote:

 

kazakov1961 wrote:

 

--- In ada_ru@yahoogroups.com <mailto:ada_ru%40yahoogroups.com>, Dmitriy Anisimkov <anisimkov@> wrote:

 

kazakov1961 wrote:

 

--- In ada_ru@yahoogroups.com <mailto:ada_ru%40yahoogroups.com>

<mailto:ada_ru%40yahoogroups.com>,

Dmitriy Anisimkov <anisimkov@> wrote:

Stamp := Clock;

delay until Stamp + 10.0;

Log (Duration'Image (Clock - Stamp) &

GNAT.Calendar.Time_IO.Image

(Stamp, " %y-%m-%d %T.%i"));

 

Минуточку, это я уже комментировал - 100% не ошибка. Точность

delay

until (ARM D.9) определена как отклонение Clock-(Stamp+10.0)

от 0.0.

Причем, Stamp+10.0 вычисляется ДО запуска delay until. А

Clock-Stamp

может быть любым.

 

Как это любым ?

Неужели отклонение на 2 секудны от 10 Вы считаете нормой в этом

случае ?

 

Безусловно. Кстати отклонение от 10, на самом деле, близко к 0,

 

Ни вижу логики в Ваших рассуждениях. Мне кажется Вы запутались просто. Stamp + 10 на начало delay untill отстоит на 10 секунд в будущем. и после dealy untill значение Clock должно равняться примерно Stamp

+ 10

то есть Clock - Stamp должно быть около 10 но никак не 12-ти.

 

ARM D.9(9.4): "...The upper bound is expressed as a function of the difference between the requested expiration time and the clock value at the time the statement begins execution. The lateness of a

delay_until_statement is obtained by subtracting the requested

expiration time from the real time that the task resumes execution following this statement."

 

Что точно соответствует тому, как отклонение измеряется в том тесте, который я послал в предыдушем послании.

 

То, что измеряете вы в вашем, к delay until не относится. Это -

точность простого delay-я:

 

ARM D.9(9.3): "...The lateness is obtained by subtracting the value of the delay expression from the actual duration. The actual duration is measured from a point immediately before a task executes the

delay_statement to a point immediately after the task resumes

execution following this statement."

 

P.S. Если бы вы писали в plain teхt мне было бы гораздо удобнее

отвечать.

 

Я не знаю как пользовать yahoo groops с нормальной почтовой программой...

kazakov1961 wrote:

 

>ARM D.9(9.3): "...The lateness is obtained by subtracting the value of >the delay expression from the actual duration. The actual duration is >measured from a point immediately before a task executes the

>delay_statement to a point immediately after the task resumes

>execution following this statement."

 

 

Что то мне в ломы разбираться с хитрыми формулировками RM и выискивать в них правду.

И не буду больше спорить на эту тему.

 

Но чисто интуитивно я считаю что

Stamp := Clock;

delay until Stamp + 10;

должен засыпать примерно на 10 секунд.

 

>P.S. Если бы вы писали в plain teхt мне было бы гораздо удобнее

 

 

>отвечать.

 

>Я не знаю как пользовать yahoo groops с нормальной почтовой программой...

 

Писать на ada_ru@yahoogroups.com

Последнее Ваше письмо было в plain text.

Это скорее всего потому, что я бросил это занятие еще на версии 3.14.

 

Да нет, наша база хранит все сообщения с основания компании. Наверное у вас просто адрес тогда был сильно другой... Если вы мне скажете номер присвоенный баг репорту, я могу вам сказать что с ним стало. В противном случае, простите, я вынужден считать что его не было.

 

Во-вторых, прочтите про себя фразу "я перестал им отправлять баг репорты 5 лет назад, потому что все равно бесполезно". Ну как? :) По-моему в подобной ситуации каждый сам себе злобный буратино :) Естественно сообщения от неподдерживаемых пользователей имеют довольно низкий приоритет, но он тем не менее выше нуля.

 

А позже, был только один раз, кто-то в comp.lang.ada (не из AdaCore) запарил мне мозги, на счет Bugzilla, и я сунулся туда - GCC Bugzilla Bug 24381 - статус UNCONFIRMED по сию пору.

 

А причем же тут bugzilla. Bugzilla сама по себе, report@... сам по себе. Иногда некоторые багзилловские репорты мы берем под контроль, но как правило только когда описывается опасная дыра.

 

А что за база, кстати?

 

База отправленных нам когда-либо репортов.

 

Может там и schedule есть, в какой версии что будет исправлено?

 

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

 

ВФ

--- In ada_ru@yahoogroups.com, Vasiliy Fofanov <fofanov@...> wrote:

 

Если вы мне скажете номер

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

 

Ну у меня базы-то нет, так что если и были номера, то я их все равно не помню.

 

Во-вторых, прочтите про себя фразу "я перестал им отправлять баг

репорты 5

лет назад, потому что все равно бесполезно". Ну как? :)

 

Печально, все это.

 

По-моему в подобной

ситуации каждый сам себе злобный буратино :) Естественно сообщения от неподдерживаемых пользователей имеют довольно низкий приоритет, но

он тем

не менее выше нуля.

 

Дело не в приоритетах, а в непрозрачности системы.

 

А причем же тут bugzilla. Bugzilla сама по себе, report@... сам по себе.

 

И это тоже проблема. GNAT - пока еще GCC.

 

А что за база, кстати?

 

База отправленных нам когда-либо репортов.

 

Может там и schedule есть, в какой версии что будет исправлено?

 

Я не могу ответить на такой расплывчатый вопрос.

 

Вопрос вполне конкретен. В нормальной ситуации, каждое сообщение

должно быть рассмотрено и, или подтверждено, или опровержено, в

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

непосредственно следующей. Срок выхода следующей версии тоже должен быть известен, с точностью до полугода. Не знаю, получают ли

пользователи GNAT Pro доступ ко всему этому, но остальные - нет.

 

А вообще, обсуждать политику AdaCore в мои намерения не входило. Был неправ.

Ну у меня базы-то нет, так что если и были номера, то я их все равно не помню.

 

Ну что ж поделать.

 

Дело не в приоритетах, а в непрозрачности системы.

 

Для клиентов она прозрачна.

 

И это тоже проблема. GNAT - пока еще GCC.

 

И что, вы может возьметесь отрицать что уровень интеграции GNAT с GCC за последние 5 лет вырос кардинальным образом?

 

Вопрос вполне конкретен. В нормальной ситуации, каждое сообщение должно быть рассмотрено и, или подтверждено, или опровержено, в

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

непосредственно следующей. Срок выхода следующей версии тоже должен быть известен, с точностью до полугода.

 

У меня только один вопрос. Кто за это будет платить. Или под "нормальной ситуацией" вы понимаете коммунистическое общество?

 

Не знаю, получают ли пользователи GNAT Pro доступ ко всему этому, но остальные - нет.

 

Пользователи получают. Почему остальные нет - см.выше. Если честно я удивлен что такие пожелания даже высказываются.

 

А вообще, обсуждать политику AdaCore в мои намерения не входило. Был неправ.

 

Политика AdaCore в этом плане несравнимо демократичнее, чем политика подавляющего большинства других компаний (в чьей политике как правило вообще отсутствует понятие "остальные"!)

 

ВФ

On Sat, Jul 29, 2006 at 10:36:31AM -0000, kazakov1961 wrote:

 

ARM D.9(9.4): "...The upper bound is expressed as a function of the difference between the requested expiration time and the clock value at the time the statement begins execution. The lateness of a

delay_until_statement is obtained by subtracting the requested

expiration time from the real time that the task resumes execution following this statement."

 

 

Можно я переведу на русский:

 

---

D9.9 реализация должна документировать:

...

D9.13: Верхнюю границу запаздывания delay_until_statement-а в ситуации когда запрашиваемое время находится после времени начала исполнения тра-та-та. Верхняя граница выражается как функция от разности между запрашиваемым временем и значением часов в момент начала исполнения оператора. Запаздывание вычисляется как разность запрашиваемого

времени и реального времени, когда задача продолжает свое исполнение.

---

 

Поскольку тут говориться о "рельном времени", то мы должны были бы использовать Ada.Real_Time.Time а не Ada.Calndar.Time.

 

Т.е. на момент сертификации GNAT была некая документация, где

было выписана функция F (x). В нашем случае x (разность между

запрашиваемым временем и значением часов) = Clock + 10.0 - Clock = 10.0. Значение этой функции (Запаздывание) это старый Clock + 10.0 минус новый Clock, в нашем случае сначала равно 0, затем 2, затем 4 и

т.д. Я так подозреваю стремиться к бесконечности :).

Таким образом оно растет, не зависит он "x". Нет функциональной

зависимости F(x) от x, как этого требует ARM.

 

В этом я и вижу баг.

--

Maxim Reznik

--- In ada_ru@yahoogroups.com, Vasiliy Fofanov <fofanov@...> wrote:

 

И это тоже проблема. GNAT - пока еще GCC.

 

И что, вы может возьметесь отрицать что уровень интеграции GNAT с GCC за последние 5 лет вырос кардинальным образом?

 

Не буду. Но качество компилятора лучше не стало. А кадинальный

параметер, который убивает Аду в той области, где AdaCore могла бы реально продавать support стал только хуже - соотношение количества платформ поддерживаемых C GCC, и всякой коммерческой дряни на его основе, по сравнению с GNAT GCC. Я не могу прийти к моим клиентам и сказать, ребята, заплатите AdaCore за порт, а потом еще за лизензии на 5 мест, подождите год, и мы покажем вам прототип. Это - не работает, даже если клиент размерои почти что с Boeing. Сами они к вам не

придут, они и слов таких, как "Ада", не знают, только через нас.

Вопрос вполне конкретен. В нормальной ситуации, каждое сообщение должно быть рассмотрено и, или подтверждено, или опровержено, в

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

непосредственно следующей. Срок выхода следующей версии тоже должен быть известен, с точностью до полугода.

 

У меня только один вопрос. Кто за это будет платить. Или под "нормальной ситуацией" вы понимаете коммунистическое общество?

 

Платить за что? За доступ к базе тикетов, которые все равно есть? Или что, дела уже так плохи, что проект вообще никак не планируется?

AdaCore - не Reuters, продает customer support, а не информацию.

Не знаю, получают ли пользователи GNAT Pro доступ ко всему этому, но остальные - нет.

 

Пользователи получают. Почему остальные нет - см.выше. Если честно я удивлен что такие пожелания даже высказываются.

 

Все зависит от того, что ставится целью. Напрасно ожидать репортов от людей, если обратной связи не существует. Люди их пишущие, тоже тратят свои ресурсы. Хотите продавать информацию, так платите за нее сами.

А вообще, обсуждать политику AdaCore в мои намерения не входило. Был неправ.

 

Политика AdaCore в этом плане несравнимо демократичнее, чем политика подавляющего большинства других компаний (в чьей политике как правило вообще отсутствует понятие "остальные"!)

 

Это неаккуратное сопоставление. Если имеются ввиду Aonix, Green Hills, Janus и.т.д., то они используют другую модель. Их пользователем можно ствть за разумные деньги. Какая модель лучше, я сказать не могу. Рынок Ады настолько мал, что уже не работает. Но по-любому, модель

используемая AdaCore основана на широкой базе халявщиков, которые косвенным образом влияют на гораздо меньшее число тех, кто в итоге платит. Это ничем не отличается от бизнеса Google или Skype. Не будет "остальных", уйдет в конце-концов и Boeing, или кто там главная дойная корова...

Не буду. Но качество компилятора лучше не стало.

 

Дмитрий, я рекомендую вам взять свои слова обратно. Это утверждение называется распространением заведомо ложных порочащих сведений или иначе говоря "клеветой". Я уверен что Вы не хотите идти по этой скользкой дорожке, потому что доказать это утверждение в таком обобщенном виде вы заведомо не в состоянии, а вот мне опровергнуть его - легче легкого, какой бы общепринятый критерий "качества компилятора" вы не выбрали.

 

А кадинальный параметер, который убивает Аду в той области, где AdaCore могла бы реально продавать support стал только хуже - соотношение количества платформ поддерживаемых C GCC, и всякой коммерческой дряни на его основе, по сравнению с GNAT GCC. Я не могу прийти к моим клиентам и сказать, ребята, заплатите AdaCore за порт, а потом еще за лизензии на 5 мест, подождите год, и мы покажем вам прототип. Это - не работает, даже если клиент размерои почти что с Boeing. Сами они к вам не придут, они и слов таких, как "Ада", не знают, только через нас.

 

Какое решение этой проблемы вы видите? Пять лет назад мы поддерживали 8 платформ, сейчас поддерживаем больше 30. Выше головы мы прыгнуть не в состоянии. Это первое. И второе. Описанный вами процесс - работает. В том числе в случае фирм куда меньшего размера чем боинг. Соответственно опять же, избегайте обобщений, они у вас слабоваты.

 

Платить за что? За доступ к базе тикетов, которые все равно есть? Или что, дела уже так плохи, что проект вообще никак не планируется? AdaCore - не Reuters, продает customer support, а не информацию.

 

Доступ к базе тикетов, а также доступ к информации о наших планах - все это тоже customer support. В противном случае все что могу вам предложить - это читать наши пресс-релизы.

 

Все зависит от того, что ставится целью. Напрасно ожидать репортов от людей, если обратной связи не существует.

 

Снова клевета. Обратная связь существует.

 

Это неаккуратное сопоставление. Если имеются ввиду Aonix, Green Hills, Janus и.т.д., то они используют другую модель. Их пользователем можно ствть за разумные деньги. Какая модель лучше, я сказать не могу.

 

Это поразительно. А у нас значит "неразумные деньги"? Вы знаете сколько стоит одно рабочее место у GHS или DDC-I? А сколько стоит наш контракт на 5 мест? У кого место дешевле выходит? Даже без учета уровня техподдержки?

Рынок Ады настолько мал, что уже не работает.

 

Очередное обобщение :)

 

Но по-любому, модель используемая AdaCore основана на широкой базе халявщиков, которые косвенным образом влияют на гораздо меньшее число тех, кто в итоге платит. Это ничем не отличается от бизнеса Google или Skype. Не будет "остальных", уйдет в конце-концов и Boeing, или кто там главная дойная корова...

 

Простите, Дмитрий, ваша картина мира настолько перекошена, что я могу только руками развести. Единственная надежда что вы настолько увлеклись что уже пишете не то что думаете. У нас нет "главных" коров, или если угодно они у нас по всему миру. "Широкая база халявщиков" не просто ортогональна нашей деловой модели, но ей временами противоречит. Сравнив нас с Google или Skype, вы продемонстрировали полное непонимание вопроса по поводу которого имели честь высказаться :)

 

ВФ

--- In ada_ru@yahoogroups.com, Maxim Reznik <yeo@...> wrote:

 

On Sat, Jul 29, 2006 at 10:36:31AM -0000, kazakov1961 wrote:

 

ARM D.9(9.4): "...The upper bound is expressed as a function of the difference between the requested expiration time and the clock value at the time the statement begins execution. The lateness of a

delay_until_statement is obtained by subtracting the requested

expiration time from the real time that the task resumes execution following this statement."

 

Можно я переведу на русский:

 

---

D9.9 реализация должна документировать:

...

D9.13: Верхнюю границу запаздывания delay_until_statement-а в ситуации когда запрашиваемое время находится после времени начала исполнения тра-та-та. Верхняя граница выражается как функция от разности между запрашиваемым временем и значением часов в момент начала исполнения оператора. Запаздывание вычисляется как разность запрашиваемого

времени и реального времени, когда задача продолжает свое исполнение.

Поскольку тут говориться о "рельном времени", то мы должны были бы использовать Ada.Real_Time.Time а не Ada.Calndar.Time.

 

Нет, "реальное" означает здесь "действительное время", тот момент, когда задача продолжит свое выполнение. Все измерения делаются по одним и тем-же часам. Я конечно не "language lawyer", но в этом случае уверен почти на все сто.

 

Ошибка будет только, если мой тест покажет 2с. Это тоже не исключено, но я сомневаюсь. А ваш с Дмитрием тест меряет метрику относительного delay-я.

 

Впрочем, суньте в comp.lang.ada, Рэнди, Стив или Роберт вам более авторитетно ответят, я могу ошибаться.

--- In ada_ru@yahoogroups.com, Vasiliy Fofanov <fofanov@...> wrote:

 

Не буду. Но качество компилятора лучше не стало.

 

Дмитрий, я рекомендую вам взять свои слова обратно

[...]

 

Вот черт меня дернул. Нет уж, это ваши дела, я - не консультант по маркетингу и public relations.

Вот черт меня дернул.

 

У меня тоже возникло именно такое впечатление. Проехали...

 

ВФ

kazakov1961 wrote:

 

>Ошибка будет только, если мой тест покажет 2с.

 

Этот что ли ?

 

Фрагмент:

loop

T1 := Clock;

T2 := T1 + 10.0;

delay until T2;

D := Clock - T2;

Put_Line

( "Error:"

& Duration'Image (D)

& "s after"

& Integer'Image (Integer (Float (Clock - Started) / 3600.0))

& "h running"

);

 

 

Вы, написали то же что и я только с дополнительными промежуточными переменными. T2 и D.

Мне даже странно что Вы считаете Ваш тест отличающимся от моего.

--- In ada_ru@yahoogroups.com, Dmitriy Anisimkov <anisimkov@...> wrote:

 

kazakov1961 wrote:

 

>ïÛÉÂËÁ ÂÕÄÅÔ ÔÏÌØËÏ, ÅÓÌÉ ÍÏÊ ÔÅÓÔ ÐÏËÁÖÅÔ 2Ó.

 

üÔÏÔ ÞÔÏ ÌÉ ?

 

ïÎ ÓÁÍÙÊ.

æÒÁÇÍÅÎÔ:

loop

T1 := Clock;

T2 := T1 + 10.0;

delay until T2;

D := Clock - T2;

Put_Line

( "Error:"

& Duration'Image (D)

& "s after"

& Integer'Image (Integer (Float (Clock - Started) / 3600.0))

& "h running"

);

 

÷Ù, ÎÁÐÉÓÁÌÉ ÔÏ ÖÅ ÞÔÏ É Ñ ÔÏÌØËÏ Ó ÄÏÐÏÌÎÉÔÅÌØÎÙÍÉ ÐÒÏÍÅÖÕÔÏÞÎÙÍÉ ÐÅÒÅÍÅÎÎÙÍÉ. T2 É D.

íÎÅ ÄÁÖÅ ÓÔÒÁÎÎÏ ÞÔÏ ÷Ù ÓÞÉÔÁÅÔÅ ÷ÁÛ ÔÅÓÔ ÏÔÌÉÞÁÀÝÉÍÓÑ ÏÔ ÍÏÅÇÏ.

 

îÕ ÅÓÌÉ ÎÅ ÏÔÌÉÞÁÅÔÓÑ, ÔÏ É ÒÅÚÕÌØÔÁÔ ÄÏÌÖÅÎ ÏËÁÚÁÔØÓÑ

ÓÏÏÔ×ÅÔÓÔ×ÅÎÎÙÍ, ×ÙÒÁÓÔÅÔ D ÄÏ 2Ó, - ÅÓÔØ ÏÛÉÂËÁ. á ÎÅÔ, ÔÁË ÎÅÔ.

kazakov1961 wrote:

 

--- In ada_ru@yahoogroups.com <mailto:ada_ru%40yahoogroups.com>, Dmitriy Anisimkov <anisimkov@...> wrote:

 

kazakov1961 wrote:

 

>Ошибка будет только, если мой тест покажет 2с.

 

Этот что ли ?

 

Он самый.

 

Фрагмент:

loop

T1 := Clock;

T2 := T1 + 10.0;

delay until T2;

D := Clock - T2;

Put_Line

( "Error:"

& Duration'Image (D)

& "s after"

& Integer'Image (Integer (Float (Clock - Started) / 3600.0))

& "h running"

);

 

Вы, написали то же что и я только с дополнительными промежуточными переменными. T2 и D.

Мне даже странно что Вы считаете Ваш тест отличающимся от моего.

 

Ну если не отличается, то и результат должен оказаться

соответственным, вырастет D до 2с, - есть ошибка. А нет, так нет.

После суток работы.

---------------

Error: 4.014706897s after 24h running

Error: 4.016608256s after 24h running

Error: 4.012846046s after 24h running

-------------

Скорее всего скачок был сначала на 2 а потом еще на 2.

Как и на моем тесте.

--- In ada_ru@yahoogroups.com, Dmitriy Anisimkov <anisimkov@...> wrote:

 

После суток работы.

---------------

Error: 4.014706897s after 24h running

Error: 4.016608256s after 24h running

Error: 4.012846046s after 24h running

-------------

Скорее всего скачок был сначала на 2 а потом еще на 2.

Как и на моем тесте.

 

Тогда, это оно!

 

Кстати, под Windows Server 2003 ошибки нет, после 64 часов (GNAT 3.15p).

Новое сообщение:
< Страницы: 1 2 3

Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти