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





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Скорость работы программы и скорость ее работы связаны... 28.08.07 16:15  Число просмотров: 4291
Автор: DPP <Dmitry P. Pimenov> Статус: The Elderman
Отредактировано 28.08.07 16:17  Количество правок: 2
<"чистая" ссылка>
> У автора корневого поста опять же пример с вычислением
> среднего по двум целым замечательный в плане демонстрации
> того, что у разработчика не должна на самом деле болеть
> голова за классы, является ли класс примитивным и проч.,
> особенно в математике, моя голова мне дороже, и я знаю, что

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

> в смаллток выражение (a + b) / 2 расчитается корректно при
> любых входных a и b, лишь бы в иерархии они сидели ниже
> класса ArithmeticValue ;-)
> Более того, при расчёте, скажем, (1 + 2) / 2 получим
> экземпляр класса Fraction, без потери точности в

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

> вычислениях, и меня это НЕ ЗАБОТИТ, всё летает и прыгает и
> выводится без геморроя.
> То же самое при расчёте (1073741823 + 1) / 2 не уличу с
> потерей знака, поскольку я знаю, что у меня целочисленные
> вычисления имеют неограниченную разрядность.

Эначит этот язык годится только 2Х2 считать.
Дело в том, что реализация 64битных операций утяжеляет вычисления на 32 разрядной машине на сложении в два (!) раза, а на умножении в десятки!
Если использовать арифметику с числами неограниченной разрядности, то все операции "утяжеляются" настолько, что это делает язык не пригодным для реальных задач.

> К примеру, итерационный расчёт факториала 1000 выглядит вот
> так:
> (2 to: 1000) inject: 1 into: [:s :i | s * i]
> Всё. Одна строка, 4 объекта, и посылка сообщений между ними
> ;-)

Ну и склько времени будет вычисляться 80000!? У меня виндовый калькулятор считает за минуту.
<site updates> Поиск 








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


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