Um otimizador estático para a linguagem Python

Detalhes bibliográficos
Autor(a) principal: Cabral, Gustavo Tavares
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