Um otimizador estático para a linguagem Python
Autor(a) principal: | |
---|---|
Data de Publicação: | 2013 |
Tipo de documento: | Trabalho de conclusão de curso |
Idioma: | por |
Título da fonte: | Repositório Institucional da UFRGS |
Texto Completo: | http://hdl.handle.net/10183/86439 |
Resumo: | Python é uma linguagem de programação dinâmica largamente utilizada nos mais va- riados domínios de aplicação, reconhecida por sua simplicidade e leve curva de aprendi- zado. Porém, esses pontos contrastam com o fato de que programas escritos na linguagem são, na maioria dos casos, muito mais lentos do que programas implementados em outras linguagens atuais. Este trabalho tem o objetivo de solucionar parte desse problema, propondo um meio de otimizar trechos de código críticos para o desempenho. O processo consiste na conversão desses trechos para C++, uma linguagem estaticamente tipada que tem como caracterís- tica a geração de programas eficientes. Os resultados obtidos demonstram que o objetivo foi atingido, com uma melhora no desempenho de até 60 vezes nos testes realizados. |
id |
UFRGS-2_2f4049507605666879cce4100191e624 |
---|---|
oai_identifier_str |
oai:www.lume.ufrgs.br:10183/86439 |
network_acronym_str |
UFRGS-2 |
network_name_str |
Repositório Institucional da UFRGS |
repository_id_str |
|
spelling |
Cabral, Gustavo TavaresJohann, Marcelo de Oliveira2014-01-22T01:55:00Z2013http://hdl.handle.net/10183/86439000909970Python é uma linguagem de programação dinâmica largamente utilizada nos mais va- riados domínios de aplicação, reconhecida por sua simplicidade e leve curva de aprendi- zado. Porém, esses pontos contrastam com o fato de que programas escritos na linguagem são, na maioria dos casos, muito mais lentos do que programas implementados em outras linguagens atuais. Este trabalho tem o objetivo de solucionar parte desse problema, propondo um meio de otimizar trechos de código críticos para o desempenho. O processo consiste na conversão desses trechos para C++, uma linguagem estaticamente tipada que tem como caracterís- tica a geração de programas eficientes. Os resultados obtidos demonstram que o objetivo foi atingido, com uma melhora no desempenho de até 60 vezes nos testes realizados.Python is a dynamic programming language widely used in several application do- mains, it is known by its simplicity and smooth learning curve. However these desirable features contrast with the fact that programs coded in python are, in most cases, much slower than programs implemented in other recent languages. This work aims to solve part of this problem, proposing a way to optimize code snip- pets that are critical for performance. The process consists in translate these snippets to C++, a statically-typed language which has the characteristic of generating efficient programs. The results show that the objective was achieved, with a performance boost of up to 60 times in the performed tests.application/pdfporLinguagens : ProgramacaoPython (Linguagem de programação)Optimizing static compilerCompilersUm otimizador estático para a linguagem PythonAn optimizing static compiler for the Python programming language info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisUniversidade Federal do Rio Grande do SulInstituto de InformáticaPorto Alegre, BR-RS2013Ciência da Computação: Ênfase em Ciência da Computação: Bachareladograduaçãoinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UFRGSinstname:Universidade Federal do Rio Grande do Sul (UFRGS)instacron:UFRGSORIGINAL000909970.pdf000909970.pdfTexto completoapplication/pdf196515http://www.lume.ufrgs.br/bitstream/10183/86439/1/000909970.pdf82a52830202bb64226e1b50a7e79bea3MD51TEXT000909970.pdf.txt000909970.pdf.txtExtracted Texttext/plain76397http://www.lume.ufrgs.br/bitstream/10183/86439/2/000909970.pdf.txt94787f6b0e1c68fee6e75d076434c8f0MD52THUMBNAIL000909970.pdf.jpg000909970.pdf.jpgGenerated Thumbnailimage/jpeg1016http://www.lume.ufrgs.br/bitstream/10183/86439/3/000909970.pdf.jpgc51a51aa5d3ee0cb2a13a86743bc79a2MD5310183/864392018-10-09 08:46:47.56oai:www.lume.ufrgs.br:10183/86439Repositório de PublicaçõesPUBhttps://lume.ufrgs.br/oai/requestopendoar:2018-10-09T11:46:47Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS)false |
dc.title.pt_BR.fl_str_mv |
Um otimizador estático para a linguagem Python |
dc.title.alternative.en.fl_str_mv |
An optimizing static compiler for the Python programming language |
title |
Um otimizador estático para a linguagem Python |
spellingShingle |
Um otimizador estático para a linguagem Python Cabral, Gustavo Tavares Linguagens : Programacao Python (Linguagem de programação) Optimizing static compiler Compilers |
title_short |
Um otimizador estático para a linguagem Python |
title_full |
Um otimizador estático para a linguagem Python |
title_fullStr |
Um otimizador estático para a linguagem Python |
title_full_unstemmed |
Um otimizador estático para a linguagem Python |
title_sort |
Um otimizador estático para a linguagem Python |
author |
Cabral, Gustavo Tavares |
author_facet |
Cabral, Gustavo Tavares |
author_role |
author |
dc.contributor.author.fl_str_mv |
Cabral, Gustavo Tavares |
dc.contributor.advisor1.fl_str_mv |
Johann, Marcelo de Oliveira |
contributor_str_mv |
Johann, Marcelo de Oliveira |
dc.subject.por.fl_str_mv |
Linguagens : Programacao Python (Linguagem de programação) |
topic |
Linguagens : Programacao Python (Linguagem de programação) Optimizing static compiler Compilers |
dc.subject.eng.fl_str_mv |
Optimizing static compiler Compilers |
description |
Python é uma linguagem de programação dinâmica largamente utilizada nos mais va- riados domínios de aplicação, reconhecida por sua simplicidade e leve curva de aprendi- zado. Porém, esses pontos contrastam com o fato de que programas escritos na linguagem são, na maioria dos casos, muito mais lentos do que programas implementados em outras linguagens atuais. Este trabalho tem o objetivo de solucionar parte desse problema, propondo um meio de otimizar trechos de código críticos para o desempenho. O processo consiste na conversão desses trechos para C++, uma linguagem estaticamente tipada que tem como caracterís- tica a geração de programas eficientes. Os resultados obtidos demonstram que o objetivo foi atingido, com uma melhora no desempenho de até 60 vezes nos testes realizados. |
publishDate |
2013 |
dc.date.issued.fl_str_mv |
2013 |
dc.date.accessioned.fl_str_mv |
2014-01-22T01:55:00Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/bachelorThesis |
format |
bachelorThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
http://hdl.handle.net/10183/86439 |
dc.identifier.nrb.pt_BR.fl_str_mv |
000909970 |
url |
http://hdl.handle.net/10183/86439 |
identifier_str_mv |
000909970 |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFRGS instname:Universidade Federal do Rio Grande do Sul (UFRGS) instacron:UFRGS |
instname_str |
Universidade Federal do Rio Grande do Sul (UFRGS) |
instacron_str |
UFRGS |
institution |
UFRGS |
reponame_str |
Repositório Institucional da UFRGS |
collection |
Repositório Institucional da UFRGS |
bitstream.url.fl_str_mv |
http://www.lume.ufrgs.br/bitstream/10183/86439/1/000909970.pdf http://www.lume.ufrgs.br/bitstream/10183/86439/2/000909970.pdf.txt http://www.lume.ufrgs.br/bitstream/10183/86439/3/000909970.pdf.jpg |
bitstream.checksum.fl_str_mv |
82a52830202bb64226e1b50a7e79bea3 94787f6b0e1c68fee6e75d076434c8f0 c51a51aa5d3ee0cb2a13a86743bc79a2 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UFRGS - Universidade Federal do Rio Grande do Sul (UFRGS) |
repository.mail.fl_str_mv |
|
_version_ |
1815447119320842240 |