|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
19.03.2010, 15:25 | #1 | |
Определение количества используемой памяти.
Регистрация: 19.08.2009
Сообщений: 91
|
||
Просмотров: 4124
|
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Теоритически - бесконечно, есть ограничения на наборы (ssget) - в зависимости от версии Акада. В хорошой лисп программе количество локальных переменных должно стремится к нулю - больше списками оперируй. В автолиспе "криво" реализована рекурсия (судя по всему через стек) - около 20000 итераций и затыкается. Еще одновременно плюсом и минусом (в зависимости от ситуации) автолиспа являеться наследие имен от внешней функции - то есть она обрабатываеться даже если не передавалась на прямую, но "неважно" реализованны пространства имен.
По второму вопросу - програмно вроде никак (если только не прикинуть каков объем занятой памяти, посредством просмотра всех объявленых) - теоритически там иллюзия бесконечной памяти. По современным меркам по этому поводу не часто приходиться париться - если что-то уж очень большое (или много раз) переопределяешь - вызывай (gc),
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Цитата:
Код:
|
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
"ощутимо" - как-то малоинформативно... Попробуй перевести все вызовы ' в function; откомпилируй в fas/vlx и попробуй еще раз.
Кстати, для полноценной проверки времени код benchmark уже на форуме был Да и у меня на сайте тоже лежит
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Продуман Регистрация: 22.02.2007
Питер
Сообщений: 2,840
|
Я уже где-то в паралельной ветке писал что производительность никогда не была "коньком" лиспа. Масштабируемость, склонность к модификации и дополнению, а также скорость написание кода (при условии что, вы пишите "по лисповски" и умеете это делать) - в этом его сила. Чем выше уровень языка (чем он дальше от компьтера) - тем ниже производительность.
__________________
Когда в руках молоток все вокруг кажется гвоздями. |
|||
|
||||
Цитата:
Вот первый код, в нем промежуточный результат преобразований списка сохраняется в переменных (заменил все апострофы на quote и function): Код:
А вот второй, полученный из первого, но от промежуточных сохранений избавился: Код:
Если при работе первого тормозов практически нет, то второй код на сложных сплайнах заметно притормаживает на несколько секунд. Компилировал в fas, проверил - ничего не изменилось . Последний раз редактировалось Do$, 22.03.2010 в 13:05. |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,832
|
Что-то я не очень понял. На первый взгляд оба кода одинаковы. Или я что-то пропустил?
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Определение количества этажей здания | Snick | Прочее. Архитектура и строительство | 18 | 14.12.2016 11:34 |
Определение количества воронок на плоской крыше 32x24 метра | dextron3 | Инженерные сети | 4 | 22.12.2009 08:11 |
Определение количества рабочих дней в месяце | LURYEN | Технология и организация строительства | 14 | 16.03.2009 17:49 |
AutoLISP: Определение количества экземпляров созданных COM объектов | Supermax | LISP | 13 | 22.11.2008 20:31 |
Определение количества строительных отходов в ПОС | VitaliyP | Технология и организация строительства | 3 | 11.11.2008 17:45 |