Pesquisa

Disponível somente no TrabalhosFeitos
  • Páginas : 25 (6028 palavras )
  • Download(s) : 0
  • Publicado : 5 de março de 2013
Ler documento completo
Amostra do texto
IEEE LATIN AMERICA TRANSACTIONS, VOL. 9, NO. 7, DECEMBER 2011

1079

Benchmarking Prolog Interpreters
A. L. Martins and A. F. Silva
1 Abstract — Interpreters have the advantage of creating a safe environment in addition to provide portability. In the context of Prolog, several interpreters were developed following the model of the WAM. But what to say about the performance of the knowninterpreters? This article points to the differences in performance among the known Prolog interpreters. For this, we used several metrics to measure the performance and compare them. Finally, our findings show that there is a big difference in performance among the interpreters analyzed.

KeywordS — Interpreters, Prolog, Software performance.

I. INTRODUÇÃO PRINCIPAL motivação para o uso deprogramação em lógica é permitir que os programadores descrevam o que eles querem separadamente de como alcançar este objetivo. Isto é baseado na premissa que qualquer algoritmo consiste de duas partes: uma especificação, a lógica, e uma descrição de como executar esta especificação, o controle. Programas lógicos são declarações que especificam as propriedades do resultado esperado, sendo a maior partedo controle automaticamente provida pelo sistema, o que mantém o controle claramente separado da lógica. Várias linguagens lógicas foram propostas [1, 2, 3], destas a mais popular é PROLOG [4, 5] que foi originalmente criada para resolver problemas em linguagem natural. A semântica de PROLOG provê um balanceamento entre eficiente implementação e completude lógica [6, 7]. Isto atenta não apenaspara a descrição de um mecanismo de prova de teoremas, mas também de uma linguagem de programação usual. A primeira implementação de PROLOG foi o interpretador desenvolvido por Roussel e Colmerauer na década de 70 [8]. Em 1977, David Warren criou o primeiro compilador de PROLOG, o DEC-10 PROLOG [9] que gerava código ASSEMBLY para o DEC-10. A investigação na implementação de PROLOG continuou com aWARREN ABSTRACT MACHINE (WAM) [7] de David Warren, uma linguagem intermediária para a compilação do PROLOG. A WAM oferecia várias vantagens, tais como: fácil compilação, portabilidade e código compacto. Por essas razões, a WAM revelou-se desde cedo como sendo uma forma eficiente e elegante de permitir a execução de programas PROLOG numa máquina sequencial. A motivação original no projeto de máquinasabstratas era a construção de hardware para suportar PROLOG eficientemente. Porém as instruções WAM realizam operações muito complexas, como a unificação, enquanto o desenvolvimento de novas arquiteturas de hardware seguiu uma direção oposta,
A. L. Martins, SENAC, Maringá – PR, alexandre.locci@gmail.com A. F. Silva, Universidade Estadual de Maringá, Maringá – PR, anderson@din.uem.br
1

Apossuir um pequeno conjunto de instruções simples. As dificuldades em obter bom desempenho em arquiteturas tradicionais e o custo de desenvolver hardware para suportar PROLOG justificam que a WAM tenha sido principalmente usada em implementações por software. As implementações tradicionalmente compilam código PROLOG para código WAM (ou para uma máquina abstrata) e então interpreta estarepresentação. Exemplos deste tipo de sistema são: YAP [10], GNU PROLOG [11], SWI-PROLOG [12], CIAO [13], XSB [14], BINPROLOG [15] e SICSTUS PROLOG [16]. Um problema nestes sistemas é o fato de não aproveitarem ao máximo o desempenho da arquitetura do hardware utilizado. São duas as razões principais para tal fato: o overhead intrínseco em emular as instruções de outra arquitetura e a complexidade dasinstruções WAM. Contudo, interpretadores PROLOG são largamente utilizados devido ao fato da geração de código nativo PROLOG ser um problema complexo. Além disto, o uso de interpretadores torna os programas portáveis. Portanto, é essencial conhecer o desempenho dos interpretadores PROLOG. No conhecimento dos autores deste artigo, até o presente momento não existe na literatura trabalhos que descrevam o...
tracking img