информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Страшный баг в WindowsЗа кого нас держат?Все любят мед
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Ну да, если это так, то это идеальный вариант и я не против... 16.01.09 15:14  Число просмотров: 4681
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 16.01.09 15:20  Количество правок: 4
<"чистая" ссылка>
> Одна важная деталь: в таких интерпретаторах самые тяжелые
> вычислительные задачи зачастую написаны на C и из
> интерпретатора только вызываются "внешние" функции.

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

> ЗЫ: Вообще конечно непонятно зачем ты уперся в gmp, если
> оно у тебя не идет никак. Да, это лучшая библиотека на
> сегодня, но ведь можно и альтернативы попробовать:
> http://en.wikipedia.org/wiki/List_of_numerical_analysis_sof
> tware

Ссылка хорошая, удобная, полезная, не только для меня, вообще, но уже не в данном случае.
Была затычка, но дело сдвинулось с мертвой точки. GMP уже немного погонял. Прикололо, что его функция вычисления факториала считает примерно в 8-10 раз быстрее. Молодцы! Не буду перечислять еще мелкие проблемы, которые легко поборолись в процессе.
А вообще то история старая. Когда-то давно возникло желание решить сложную задачку, для чего могло потребовться оперировать очень большими числами вплоть до гигабит. Библиотечки были довольно "короткие" и фиксированной длины. Начал сам писать безграничную. Возникла проблема с распределением памяти - тормоза, на удивление очень много процессорного времени отжирало перераспределение памяти (realloc). Да и периодический контроль длины - тоже дополнительные расходы. Попробовал перейти к фиксированной разрядности - другая проблема, если заложить под большую разрядность сразу - тормоза на экспериментах с небольшими значениями. Других "граблей" тоже хватало. Тормоза на генерации простых, разрядностью ~512 бит. Скорость генерации может достигать порядка минут. А что будет с килобитом или двухкилобитом! Что-то не то. Поскольку писал под С++, делал все на объекте с перегруженными операциями. Вероятно большие накладные расходы на копировании во временный объект при возврате значений. В общем, может потом и поковыряюсь со своей библиотечкой, на досуге, а пока придется на gmp, хоть с точки зрения удобства она не идеал.
<programming> Поиск 






Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach