Ada_Ru форум

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

Битовые операции. Страница 4

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

Сообщения

teplouhov@... wrote:

Кстати, я недавно очень был удивлён, узнав, что C++ полетел на Марс в

качестве ПО автономной системы управления движением Mars rover-а (а

также анализа ситуации на трассе и планирования маршрута).

 

 

ааа, теперь мне понятно, почему там у них глючило все ;)))

 

 

Я бы не стал такие скорополительные выводы делать: в яму и без C++ можно попасть :) А колесо у них вышло из строя просто от "старости". Вообще роверы NASA -- это одна из самых удачных миссий на Марсе: проработали (и до сих пор работают) гораздо больше расчётного срока.

 

 

Алексей

Andry Ogorodnik wrote:

А, кстати, Василий, не подскажите, с помощью чего профилирование

Ada-программ можно делать?

 

 

gprof

для профилирования необходимо компилировать прогу с ключем "-pg"

это есть в книге "Адское прграмирование"

 

так же советую обратить внимание на такую штуку как valgrind

http://valgrind.org/

 

 

Андрей, спасибо.

 

 

Алексей

Ну да, народ, пишущий на Лисп, тоже говорит, что можно и Лисп настроить так, что не хуже C пойдё :)

 

тХ. мТу твс еж еусомнюс. ьОпят ьж, ет аж еситуаци ячт о спитоно, мкомпилято рпроти винтерпретатор акомпилирующег отип ап обыстродействи юобяза нпобеждат ьвсегд.

 

а, Акстат, иВасили, йн еподскажит, е спомощь ючег опрофилировани Ada-епрограм мможн оделат?

 

ьН уту тответил. иЕсл иограничитьс ястандартны мдистрибутиво GNAT, м ува симеетс gprof ядл ябыстродействи я gnatmem идл ярасход апамят, иесл ин еограничиватьс - ят онаиболе еразумны йвыбо рэт valgrind.

 

оПричё мавто рстать идела лтако йинтересны йпрогно:

здескат ь 90-в хгода XX хвек, аАд, ап оег омнени, юдолжн абыл астат "ьглавны мЯ". ПВ ока.

 

кПрогно зка кпрогно. зН о ксожалени юавто рн еуче, лд а ин емо гучест, ьдеструктивну юсил урынк а вслуча езапад а ираспа дССС Р вслуча ена...

сВ

On Tue, Apr 04, 2006 at 11:54:45AM +0600, teplouhov@... wrote:

On Fri, 31 Mar 2006 12:44:39 +0200, Vasiliy Fofanov

Конечно в случае GNAT он еще и использует GCCшный бэкенд, поэтому генерация кода и изрядная доля оптимизаций вообще идентичны сишным, отсюда и одинаковый код :)

 

Кстати, он там переписан на Ада, или используются прямо куски

исходников gcc на Ц? Там вроде Цных исходников была кучка,

 

GCC переписанные на Ада? Да вы шутник большой...

 

PS Кстати, есть где-нить описание структуры разбивки

исходников на подсистемы и уровни? Вижу что "расфасованы"

 

Можно предложить для начала книжку

A Detailed Description of the GNU Ada Run-Time (J.Miranda, 2002)

http://www.iuma.ulpgc.es/~jmiranda/

 

Помойму в AdaCore есть версия по новее, но ее не всем дают...

 

--

Maxim Reznik

On Tue, 4 Apr 2006 11:22:10 +0200, Vasiliy Fofanov <fofanov@...> wrote:

 

Ну да, народ, пишущий на Лисп, тоже говорит, что можно и Лисп настроить

так, что не хуже C пойдёт :)

 

Хм. Тут все же усомнюсь. Опять же, та же ситуация что с питоном, компилятор

против интерпретатора компилирующего типа по быстродействию обязан

побеждать всегда.

 

Кстати, а нет ли готовых лисп-подобных библиотек для Ада?

Теоретически можно попытаться доработать напильником ;)

и скрестить, а практически реализация лисп не большая,

можно и просто написать подобные функции на Ада сразу...

 

Vladimir

PS Лисповский подход с отображением программ на список

и функцию eval думаю врядли есть смысл да и вообще можно ли

на что-то другое заменить - тут проще использовать старый

велосипед, новый был бы все равно не лучше и почти такой-же...

-- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/

Vasiliy Fofanov wrote:

А, кстати, Василий, не подскажите, с помощью чего профилирование Ada-программ можно делать?

 

 

Ну тут ответили. Если ограничиться стандартным дистрибутивом GNAT, у вас

имеется gprof для быстродействия и gnatmem для расхода памяти, если не

ограничиваться - то наиболее разумный выбор это valgrind.

 

 

Да, valgrind уже себе поставил. Спасибо.

 

Причём автор статьи делал такой интересный прогноз:

дескать в 90-х годах XX века, Ада, по его мнению, должна была стать "главным ЯП". Во как.

 

 

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

деструктивную силу рынка в случае запада и распад СССР в случае нас...

 

Для меня ещё не очень понятен вот такой момент. А зачем такие неудобства в получении GPL-версии GNAT? Скажем так, получить последнюю версию gcc гораздо проще и удобнее. Что мешает выложить GNAT в свободный доступ для всех желающих, как это было с версией 3.15p? На мой взгляд, эти ограничения совсем не способствует популярности Ada (они вообще не соответствуют "духу" free software), и когда человек сталкивается с такими сложностями, то он также может, вполне резонно, задать вопрос "а зачем мне вс ёэт онад, окогд аест gcc ?" ьКа кэт оможн ообъяснит?

 

 

ьАлексе

On 4/5/06, rainbow-2000 <rainbow-2000@yandex.ru> wrote:

Для меня ещё не очень понятен вот такой момент. А зачем такие неудобства в получении GPL-версии GNAT? Скажем так, получить последнюю версию gcc гораздо проще и удобнее. Что мешает выложить GNAT в свободный доступ для всех желающих, как это было с версией 3.15p?

 

Так он и есть в "свободном" доступе. Правда достать его с AdaCore можно при наличии хорошего канала, поскольку докачки нет. Хотя на http://www.ada-ru.org/ размещена ссылка на зеркало, откуда его можно скачать.

Wednesday, 5. April 2006 08:23, rainbow-2000 Ви написали:

Vasiliy Fofanov wrote:

Для меня ещё не очень понятен вот такой момент. А зачем такие неудобства в получении GPL-версии GNAT? Скажем так, получить последнюю версию gcc гораздо проще и удобнее. Что мешает выложить GNAT в свободный доступ для всех желающих, как это было с версией 3.15p?

http://dev.gentoo.org/~george/src/gnat-gpl-3.4.5.1-src.tar.bz2,

тот же исходник, что и на libre2.adacore.com (чуть чуть иначе поименован, для лучшего "вливания" в дистрибутив).

адаптированный к gcc-3.4.5 patch здесь:

http://dev.gentoo.org/~george/src/gnat-gpl-gcc-3.4.diff.bz2

- адаптированный, в смысле что не ищет куда-же что сдвинулось и просто молча "становится".

Бутстрапы (нужны, чтоб построить эту вещь в отсытствие Ada-enabled gcc) здесь: http://dev.gentoo.org/~george/src/gnatboot-3.4-amd64-r2.tar.bz2

http://dev.gentoo.org/~george/src/gnatboot-3.4-i386.tar.bz2

George

Andry Ogorodnik wrote:

On 4/5/06, rainbow-2000 <rainbow-2000@...> wrote:

 

Для меня ещё не очень понятен вот такой момент. А зачем такие неудобства

в получении GPL-версии GNAT? Скажем так, получить последнюю версию gcc

гораздо проще и удобнее. Что мешает выложить GNAT в свободный доступ для

всех желающих, как это было с версией 3.15p?

 

 

Так он и есть в "свободном" доступе. Правда достать его с AdaCore

можно при наличии хорошего канала, поскольку докачки нет. Хотя на

http://www.ada-ru.org/ размещена ссылка на зеркало, откуда его можно

скачать.

 

Так я и говорю про AdaCore. Разместили бы и у себя такие ссылки. Было бы гораздо удобнее.

 

Алексей

Для меня ещё не очень понятен вот такой момент. А зачем такие неудобства в получении GPL-версии GNAT?

 

Я не особенно в курсе этого аспекта, но насколько мне известно цель преследовалась одна-единственная - понять кто, зачем и сколько скачал дистрибутивов. Никаких ограничений не подразумевалось. У меня такое впечатление что проблемы в основном у пытающих качать из бывшего СССР, не знаю почему.

 

ВФ

On 4/5/06, Vasiliy Fofanov <fofanov@act-europe.fr> wrote:

Я не особенно в курсе этого аспекта, но насколько мне известно цель преследовалась одна-единственная - понять кто, зачем и сколько скачал дистрибутивов. Никаких ограничений не подразумевалось. У меня такое впечатление что проблемы в основном у пытающих качать из бывшего СССР, не знаю почему.

 

Потому что в бывшем СССР каналы связи такие же как и дороги :)

Andry Ogorodnik wrote:

On 4/5/06, Vasiliy Fofanov <fofanov@...> wrote:

 

Я не особенно в курсе этого аспекта, но насколько мне известно цель

преследовалась одна-единственная - понять кто, зачем и сколько скачал

дистрибутивов. Никаких ограничений не подразумевалось. У меня такое

впечатление что проблемы в основном у пытающих качать из бывшего СССР, не

знаю почему.

 

 

Потому что в бывшем СССР каналы связи такие же как и дороги :)

 

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

 

На самом деле, да. У некоторых наших провайдеров есть нехорошая привычка через каждые 1.5 - 2 часа отрубать линк на несколько секунд (наверно их спутник ещё вокруг Луны виток делает и связь с ним пропадает :) )

 

 

Алексей

rainbow-2000 wrote:

На самом деле, да. У некоторых наших провайдеров есть нехорошая привычка через каждые 1.5 - 2 часа отрубать линк на несколько секунд (наверно их спутник ещё вокруг Луны виток делает и связь с ним пропадает :) )

 

Связанно это с тем, что многие биллинговые системы (дешевые) работают только через radius протокол (используется при придоставлении доступа по ppp). А в радиусе нет возможности оборвать сессию, например по истечению денег на счете абонента. Поэтому выставляется timeout на длину сессии. У нас его ставят на сутки, но кто-то может поставить и меньше. А если нет возможности докачки, то ничего крупного скачать нельзя.

 

Как уже говорилось, GNAT лежит на моем сервере. Если надо еще что полезного хранить, говорите. Сервер институтский (МФТИ), сидит на академическом канале, так что за Аду я оправдаться всегда сумею. :)

 

-- Olleg Samoylov

>Vasiliy Fofanov wrote:

>А, кстати, Василий, не подскажите, с помощью чего профилирование >Ada-программ можно делать?

 

 

Ну тут ответили. Если ограничиться стандартным дистрибутивом GNAT, у вас имеется gprof для быстродействия и gnatmem для расхода памяти, если не ограничиваться - то наиболее разумный выбор это valgrind.

 

 

>Да, valgrind уже себе поставил. Спасибо.

 

Valgrind - слишком тормознуый. Мы тут пробовали неш проект с помощью valgrind профилировать. Так без валгринда он реботал 5 секунд, а с запущеным валгриндом - 10 минут!!!. Valgring очень сильно тормозит реботу программы. Так что для реальных проектов его использовать нереально.

 

gprof работает быстрее, ну у него есть свои косяки.

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

2 GNAT глючит при компиляции с ключем -pg если в программе есть Wide_Unbounded строки. Там кажись их сравнение неправильно работает. Уже не помню.

On 4/6/06, "Василий" <DibalaVS@yandex.ru> wrote:

Valgrind - слишком тормознуый. Мы тут пробовали неш проект с помощью valgrind профилировать. Так без валгринда он реботал 5 секунд, а с запущеным валгриндом - 10 минут!!!. Valgring очень сильно тормозит реботу программы. Так что для реальных проектов его использовать нереально.

 

Ну естественно, его основная задача ловить баги - утечки памяти,

использование неинициализированых переменных и т.д.

Насколько я знаю он вообще исполняет програму на "виртуальной" машине. О скорости конечно тут говорить не приходится, он ошибки он таки

ловит, а это главное.

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

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