[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE
Autor(a) principal: | |
---|---|
Data de Publicação: | 2020 |
Tipo de documento: | Outros |
Idioma: | eng |
Título da fonte: | Repositório Institucional da PUC-RIO (Projeto Maxwell) |
Texto Completo: | https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@2 http://doi.org/10.17771/PUCRio.acad.46954 |
Resumo: | [pt] As características dinâmicas de linguagens de scripting introduzem um gargalo significativo no tempo de execução quando comparadas a linguagens de sistemas. A arquitetura scripting pode ser usada para melhorar o desempenho ruim de linguagens de scripting. O programador deve usar a linguagem de sistemas para tarefas que consomem muitos recursos, e a de scripting para flexibilidade. Entretanto, essa arquitetura tem duas falhas significativas quando usada para melhorar o desempenho de linguagens de scripting. Primeiro, existe uma lacuna conceitual entre as duas linguagens, logo migrar da linguagem de scripting para linguagem de sistemas pode exigir enorme esforço. Segundo, existe um gargalo escondido ao manipular as estruturas de dados da linguagem de scripting a partir da linguagem de sistemas. Pallene é uma linguagem de sistemas projetada particularmente para Lua que almeja resolver essas duas falhas. Pallene é um subconjunto estaticamente tipado de Lua, o que facilita o processo de migração. Além disso, Pallene manipula diretamente as estruturas de dados de Lua sem introduzir gargalo. Neste trabalho, nós propomos dois tipos de registros para Pallene, e nós apresentamos a implementação do compilador de Pallene. Nós avaliamos o desempenho do nosso compilador para compará-la com Lua padrão, LuaJIT, e programas C que utilizam a API C de Lua. Nossos experimentos mostram que Pallene é competitiva com as soluções existentes para melhorar o desempenho de Lua. |
id |
PUC_RIO-1_f935c68d51292d4644ccb7aa3944df9c |
---|---|
oai_identifier_str |
oai:MAXWELL.puc-rio.br:46954 |
network_acronym_str |
PUC_RIO-1 |
network_name_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository_id_str |
534 |
spelling |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE [en] THE IMPLEMENTATION OF RECORDS IN PALLENE [pt] LUA[pt] TIPAGEM ESTATICA[pt] SCRIPTING[en] LUA[en] STATIC TYPING[en] SCRIPTING[pt] As características dinâmicas de linguagens de scripting introduzem um gargalo significativo no tempo de execução quando comparadas a linguagens de sistemas. A arquitetura scripting pode ser usada para melhorar o desempenho ruim de linguagens de scripting. O programador deve usar a linguagem de sistemas para tarefas que consomem muitos recursos, e a de scripting para flexibilidade. Entretanto, essa arquitetura tem duas falhas significativas quando usada para melhorar o desempenho de linguagens de scripting. Primeiro, existe uma lacuna conceitual entre as duas linguagens, logo migrar da linguagem de scripting para linguagem de sistemas pode exigir enorme esforço. Segundo, existe um gargalo escondido ao manipular as estruturas de dados da linguagem de scripting a partir da linguagem de sistemas. Pallene é uma linguagem de sistemas projetada particularmente para Lua que almeja resolver essas duas falhas. Pallene é um subconjunto estaticamente tipado de Lua, o que facilita o processo de migração. Além disso, Pallene manipula diretamente as estruturas de dados de Lua sem introduzir gargalo. Neste trabalho, nós propomos dois tipos de registros para Pallene, e nós apresentamos a implementação do compilador de Pallene. Nós avaliamos o desempenho do nosso compilador para compará-la com Lua padrão, LuaJIT, e programas C que utilizam a API C de Lua. Nossos experimentos mostram que Pallene é competitiva com as soluções existentes para melhorar o desempenho de Lua.[en] The dynamic features of scripting languages introduce significant overhead in execution time when compared to system languages. The scripting architecture can be used to improve the poor performance of scripting languages. The programmer should use a system language for resourceintensive tasks, and a scripting one for flexibility. However, this architecture has two significant flaws when used to improve the performance of scripting languages. First, there is a conceptual gap between both languages; so migrating from the scripting language to the system language may require enormous effort. Second, there is a hidden overhead when manipulating the scripting-language data structures from the system language. Pallene is a system language designed particularly for Lua that aims to solve these two issues. Pallene is a statically-typed subset of Lua, which facilitates the migration process. Moreover, Pallene manipulates Lua s data structures directly without introducing overhead. In this work, we propose two types of records for Pallene, and we present the implementation of the Pallene compiler. We benchmarked our compiler to compare it to standard Lua, LuaJIT, and C programs using the Lua-C API. Our experiments show that Pallene is competitive with the existing solutions to improve Lua s performance.MAXWELLROBERTO IERUSALIMSCHYGABRIEL DE QUADROS LIGNEUL2020-02-27info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/otherhttps://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@1https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@2http://doi.org/10.17771/PUCRio.acad.46954engreponame:Repositório Institucional da PUC-RIO (Projeto Maxwell)instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)instacron:PUC_RIOinfo:eu-repo/semantics/openAccess2022-08-04T00:00:00Zoai:MAXWELL.puc-rio.br:46954Repositório InstitucionalPRIhttps://www.maxwell.vrac.puc-rio.br/ibict.phpopendoar:5342022-08-04T00:00Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO)false |
dc.title.none.fl_str_mv |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE [en] THE IMPLEMENTATION OF RECORDS IN PALLENE |
title |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE |
spellingShingle |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE GABRIEL DE QUADROS LIGNEUL [pt] LUA [pt] TIPAGEM ESTATICA [pt] SCRIPTING [en] LUA [en] STATIC TYPING [en] SCRIPTING |
title_short |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE |
title_full |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE |
title_fullStr |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE |
title_full_unstemmed |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE |
title_sort |
[pt] A IMPLEMENTAÇÃO DE REGISTROS EM PALLENE |
author |
GABRIEL DE QUADROS LIGNEUL |
author_facet |
GABRIEL DE QUADROS LIGNEUL |
author_role |
author |
dc.contributor.none.fl_str_mv |
ROBERTO IERUSALIMSCHY |
dc.contributor.author.fl_str_mv |
GABRIEL DE QUADROS LIGNEUL |
dc.subject.por.fl_str_mv |
[pt] LUA [pt] TIPAGEM ESTATICA [pt] SCRIPTING [en] LUA [en] STATIC TYPING [en] SCRIPTING |
topic |
[pt] LUA [pt] TIPAGEM ESTATICA [pt] SCRIPTING [en] LUA [en] STATIC TYPING [en] SCRIPTING |
description |
[pt] As características dinâmicas de linguagens de scripting introduzem um gargalo significativo no tempo de execução quando comparadas a linguagens de sistemas. A arquitetura scripting pode ser usada para melhorar o desempenho ruim de linguagens de scripting. O programador deve usar a linguagem de sistemas para tarefas que consomem muitos recursos, e a de scripting para flexibilidade. Entretanto, essa arquitetura tem duas falhas significativas quando usada para melhorar o desempenho de linguagens de scripting. Primeiro, existe uma lacuna conceitual entre as duas linguagens, logo migrar da linguagem de scripting para linguagem de sistemas pode exigir enorme esforço. Segundo, existe um gargalo escondido ao manipular as estruturas de dados da linguagem de scripting a partir da linguagem de sistemas. Pallene é uma linguagem de sistemas projetada particularmente para Lua que almeja resolver essas duas falhas. Pallene é um subconjunto estaticamente tipado de Lua, o que facilita o processo de migração. Além disso, Pallene manipula diretamente as estruturas de dados de Lua sem introduzir gargalo. Neste trabalho, nós propomos dois tipos de registros para Pallene, e nós apresentamos a implementação do compilador de Pallene. Nós avaliamos o desempenho do nosso compilador para compará-la com Lua padrão, LuaJIT, e programas C que utilizam a API C de Lua. Nossos experimentos mostram que Pallene é competitiva com as soluções existentes para melhorar o desempenho de Lua. |
publishDate |
2020 |
dc.date.none.fl_str_mv |
2020-02-27 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/other |
format |
other |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@2 http://doi.org/10.17771/PUCRio.acad.46954 |
url |
https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@1 https://www.maxwell.vrac.puc-rio.br/colecao.php?strSecao=resultado&nrSeq=46954@2 http://doi.org/10.17771/PUCRio.acad.46954 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.none.fl_str_mv |
MAXWELL |
publisher.none.fl_str_mv |
MAXWELL |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da PUC-RIO (Projeto Maxwell) instname:Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) instacron:PUC_RIO |
instname_str |
Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
instacron_str |
PUC_RIO |
institution |
PUC_RIO |
reponame_str |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
collection |
Repositório Institucional da PUC-RIO (Projeto Maxwell) |
repository.name.fl_str_mv |
Repositório Institucional da PUC-RIO (Projeto Maxwell) - Pontifícia Universidade Católica do Rio de Janeiro (PUC-RIO) |
repository.mail.fl_str_mv |
|
_version_ |
1814822619306786816 |