Linhas Verticais

um blog sobre musica, arte, programação e outras coisas.

LuaJIT junho 18, 2007

Filed under: programação — rangelfisica @ 4:38 pm

LuaJIT é um projeto meio desconhecido para lua, consiste em um Just-In-Time compiler para a linguagem lua, existe um projeto parecido para o python chamado Psyco, porém o Psyco tem que lidar com vários tipos diferentes de dados e as sutilizas da API do python, fornecendo um rendimento razoável (2 a 4 vezes) com um consumo expressivo de memoria. Mas com a lua é diferente, há pessoas que não consideram a lua como linguagem de programação relevante e sim um sistema de configuração (um arquivo .INI mais sofisticado), logo não deveria ter uma JIT como o java e a lua por si só já é extremamente rápida (para uma linguagem tipo script).

Os resultados que obtive com a LuaJIT foram muito bons, ela não requer que uma versão oficial da lua esteja instalada, pois ela por si só já é uma versão modificada da lua 5.1 e totalmente compatível com os módulos já existentes, ela se aproveita da simplicidade dos tipos da lua para gerar um código mais otimizado, já a lua só tem 6 tipos de valores (numero, string, table, boolean, function e UserData) foi possível escrever o otimizador em lua e não em C. O ganho velocidade obtida varia conforme a aplicação, podendo chegar a 5 vezes em códigos numéricos. O próprio sistema permite alterar quando será executado a conversão do bytecode para código nativo (até agora apenas para arquitetura x86) e um sistema de debug mais sofisticado (não precisei utiliza-lo até agora).

Enfim, mesmo sendo um projeto recente e simples fornece resultados animadores, estimulando o uso da linguagem lua em outros projetos.

Projet LuaJIT luajit.org

Lua – site oficial www.lua.org

 

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s