From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <3B0771C7.FF759B6F@mail.ru> From: "Vadim V. Zhytnikov" X-Mailer: Mozilla 4.7 [en] (Win98; I) X-Accept-Language: en MIME-Version: 1.0 To: mandrake-russian@altlinux.ru Subject: Re: [mdk-re] Offtopic =?koi8-r?Q?=D0=D2=CF=D1=DA=D9=CB?= Lisp References: <20010520004942.A2500@vezyolka.dgap.mipt.ru> Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Sender: mandrake-russian-admin@altlinux.ru Errors-To: mandrake-russian-admin@altlinux.ru X-BeenThere: mandrake-russian@altlinux.ru X-Mailman-Version: 2.0 Precedence: bulk Reply-To: mandrake-russian@altlinux.ru List-Help: List-Post: List-Subscribe: , List-Id: Linux-Mandrake RE / ALT Linux discussion list List-Unsubscribe: , List-Archive: Date: Sun May 20 11:50:23 2001 X-Original-Date: Sun, 20 May 2001 11:27:03 +0400 Archived-At: List-Archive: List-Post: Yura Zotov wrote: > Я тут попробовал программу Maxima для символьных вычислений. Сравнил ее по > скорости с Mathematica-4.0. Maxima считает в десятки-сотни раз медленнее, > чем Mathematica-4.0. Maxima написана на Lisp'е и компилируется с помощью > GNU Common Lisp (gcl). Отсюда вопрос, является медленность счета > следствием применения Lisp? Или скомпилированный Lisp код не уступает по > скорости C-программе, естественно при прочих равных? > Теоретически, а иногда и практически, Lisp может сравниваться с C по быстродействию. Пример из практики показывающий, что очень многое зависит не от языка, а то самой программы. До выхода Mathematica 3.0 быстродействие программ для символьных вычислений на базовых полиномиальных операциях распределялась приблизительно так (коэффициент "замедления"): Maple - 1 Reduce - 3 Mathematica - 10 Macsyma - 30 Причём Maple и Mathematica это C, а Reduce и Macsyma это Lisp. После выхода Mathematica 3 она сравнялась с Maple. Для Lisp-based программ, всё очень сильно зависит от реализации Lisp. Самой главной частью здесь является Lisp-компилятор. Если он компилирует непосредственно в машинный код, как это сделано в PCL, то результат получается очень быстрым. Именно благодаря такому этому Reduce почти достаёт сишные программы. Но большинство реализаций лиспа компилируют в некоторый промежуточный код, что при выплнении получается несколько медленее. Вообще Macsyma всегда была очень медленной, но думаю, что ситуацию можно исправить в несколько раз при применении хорошего Lisp. Про gcl ничего толком не знаю. Надо будет попробовать и разобраться. Мне известны очень быстрые коммерческие варианты Lisp написанные целиком на С. Всего хорошего, ZW -- [ Vadim V. Zhytnikov ]