О 16000 фактов.



Posted by Аркадий Водяник (195.206.226.14) on January 31, 2001 at 05:04:34:

In Reply to: Что делать если фактов больше 16000 posted by Денис, Днепропетровск on January 31, 2001 at 01:35:11:

1) Какие есть ограничения на длину ленты фактов?

а) количество памяти в контекстах D и D';
но при исчерпании этой памяти появляется красное
окно с предупреждением и т.д.;

б) 32-х разрядная архитектура компьютеров,
находящихся в ходу: существует барьер доступной
памяти - 4Gb (или даже 256Mb в Win95/98).
Так что, как справедливо замечает Александр, причина
расхождения - не в каких-либо ограничениях.

2) Может, для поиска расхождения следует обратить
внимание на разную работу функции [ro..].
Так, [ro 2.5] в ultraH выдаст 2, a в ФБП:Сервере
- 3. Чтобы исключить подобное расхождение, вместо
[ro x], где x - выражение, следует использовать
[tr x+0.5]. Такая конструкция работает одинаково.
Можно, конечно, сказать, что это ошибка - такое
расхождение. Но надо учитывать особенности разных
компиляторов и библиотек. В частности, и результаты
делений чисел в ultraH и ФБП:Сервере отличаются
иногда в последних значащих цифрах.

3) Размер буферов для оператора select одинаков:
10000. Так что с этой стороны расхождения не
должно быть.

4) А может, Вы применяете поиск вида
search ... x ... (или любой другой поиск)
где x - числовое выражение.
При этом могут быть пропущены факты с соответствующим
числовым полем, значение которого близко, но не
совпадает с x. Так что для отбора фактов стоит
применять только строковые значения (например,
полученные с помощью [intsn..]).

5) Буду признателен за Ваше развернутое сообщение
о причинах расхождения.



Пpишедшие ответы: