Mostrar registro simples

dc.creatorSilva, David Ramos
dc.date.accessioned2023-06-15T14:02:10Z
dc.date.available2023-06-15T14:02:10Z
dc.date.issued2023-04-27
dc.identifier.citationSILVA; David Ramos da; SILVA, Heber Leandro da Luz. Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos. 2023. 54 f. Trabalho de Conclusão de Curso (Curso Superior de Tecnologia em Análise de Desenvolvimento de Sistemas) – Instituto Federal de Ciência e Tecnologia de Pernambuco, Recife, 2023.pt_BR
dc.identifier.urihttps://repositorio.ifpe.edu.br/xmlui/handle/123456789/981
dc.description.abstractThe goal of the current work is to present a study on the effectiveness of web-based applications that use webassembly. A language and binary file format called Webassembly promises significant speed gains over javascript. In the study, two applications capable of processing and classifying images with handwritten data were developed. All of the image preprocessing algorithms and neural network algorithms for classification were written in C++ for the first application and compiled for webassembly using Emscripten; the same algorithms were written in Javascript for the second application. At the conclusion of the study, benchmarking tests were conducted using a fictitious dataset in the MNIST style. In conclusion, the study on WebAssembly showed that it has superior performance results in most browsers, allowing us to take advantage of the computational power of client-side users and reducing the overload of calls to the backend. The benchmarking tests were carried out on the browsers Google Chrome, Microsoft Edge, Mozilla Firefox and Brave. In short, WebAssembly is a promising technology and deserves to be explored by developers and companies, to take advantage of all its potential and take the performance of web applications to the next level.pt_BR
dc.format.extent54 p.pt_BR
dc.languagept_BRpt_BR
dc.relationANDREASEN, E. et al. A Survey of Dynamic Analysis and Test Generation for JavaScript. ACM Comput. ACM Computing Surveys, 2017. BACKES, A. R.; JUNIOR, J. J. d. M. S. Introdução à visão computacional usando Matlab. [S.l.]: Alta Books Editora, 2019. BALLARD, D. H.; BROWN, C. M. Computer vision. [S.l.]: Prentice Hall, 1982. BODILY, Samuel. (2009). Browser Wars: Microsoft Versus Netscape. Darden Business Publishing Cases. 1. 10.1108/case.darden.2016.000053. BRINKMANN, Ron. The Art and Science of Digital Compositing: Techniques for Visual Effects, Animations and Motion Graphics. 2 edição. San Francisco: Morgan Kaufmann Publishers. 2008. CLARK, Lin. A crash course in Just-in-Time (JIT) compilers. [S.l.].2017. Mozilla Hacks. Disponível em: <https://hacks.mozilla.org/2017/02/a-crash-course-in- just-in-time-jit-compilers>. Acesso em: 23 de fev. 2022. CLARK, Lin. Creating and working with webassembly modules. [S.l.]. 2017. Mozilla Hacks. Disponível em: <https://hacks.mozilla.org/2017/02/creating-and- working-with-webas sembly-modules/>. Acesso em: 29 de jun. 2022. CLARK, Lin. What makes webassembly fast?. [S.l.]. 2017. Mozilla Hacks. Disponível em: <https://hacks.mozilla.org/2017/02/what-makes-webassembly-fast/>. Acesso em: 23 de fev. 2022. COHEN, Omri. Go webassembly performance benchmark. [S.l.]. 2020. Code the Cloud. Disponível em: <https://dev.bitolog.com/go-webassembly-performance- benchmark/>. Acesso em: 30 de jun. 2022. CUNHA, Luiz Henrique da Silva. Avaliação de desempenho de visão computacional em aplicações móveis. 2018. 60 f. Monografia (Graduação em Engenharia da Computação) – Instituto de Ciências Exatas e Aplicadas, Universidade Federal de Ouro Preto, João Monlevade, 2018. DE ALBUQUERQUE, Márcio Portes; DE ALBUQUERQUE, Marcelo Portes. Processamento de imagens: métodos e análises. Rio de Janeiro, Brasil, v. 12, 2000. EICHNER, Hubert. 2014. MYSELPH. Disponível em: <http://myselph.de/neuralNet.html>. Acesso em 23 de fev. 2022. EMSCRIPTEN, Contributors. Emscripten compiler toolchain. [S.l.]. 2015 Emscripten. Disponível em: <https://emscripten.org/> Acesso em: 25 de jun. 2022. EMSCRIPTEN. Building to Webassembly. [S.I.] 2015. Emscripten. Disponível em: <https://emscripten.org/docs/compiling/WebAssembly.html#webassembly>. Acesso em 24 de ago. de 2022. GATTALl, Abdeljalil & CHIBANI, Youcef. Combining Multiple Segmentation Methods for Handwritten Digit Recognition of Algerian Bank Checks. 2nd International Conference on Information Systems and Technologie, 2012. GONZALEZ, R. C.; WOODS, R. C. Processamento digital de imagens. Pearson Prentice Hall, 2010. GOODFELLOW, Ian; BENGIO, Yoshua; COURVILLE, Aaron. Deep Learning (Adaptive Computation and Machine Learning series). Massachusetts Institute of Technology Press. 2016. HINKELMANN, Franziska. Understanding V8’s bytecode. [S.l.]. 2017. Franziska Hinkelmann. Disponível em: <https://www.fhinkel.rocks/2017/08/16/Understanding -V8-s-Bytecode> Acesso em: 25 de jun. 2022. ITU, ITURBT. Parameter values for the HDTV standards for production and international programme exchange. Recommendation ITU-R BT 709-5. 2002. JANETAKIS, Nick. Was web development better back in the early 2000s?. [S.l.]. 2018. Nick Janetakis. Disponível em: <https://nickjanetakis.com/blog/was-web- development-better -back -in-the-early-2000s>. Acesso em: 16 de jan. 2022. KWAME, Ampomah Ernest; MARTEY, Ezekiel Mensah; CHRIS, Abilimi Gilbert. Qualitative assessment of compiled, interpreted and hybrid programming languages. Communications, v. 7, n. 7, p. 8-13, 2017. LECUN, Y; CORTES, C.; BURGES, C.J.C. The MNIST database of Handwritten Digits. New York, USA. 1998. MOZILLA. Javascript, Origem e História. [S.l.]. 2016?. MDN Web Docs. Disponível em: <https: //developer.mozilla.org/pt-BR/docs/Glossary/JavaScript>. Acesso em: 24 de jan. 2022. MOZILLA. Understanding webassembly text format. [S.l.]. 2017?.MDN Web Docs. Disponível em: <https://developer.mozilla.org/pt-BR/docs/WebAssembly/Understandi ng_the_text_format>. Acesso em: 30 de jun. 2022. MOZILLA. Webassembly format. [S.l.]. 2017?. MDN Web Docs. Disponível em: <https://research.mozilla.org/webassembly>. Acesso em: 23 de fev. 2022. MOZILLA. Performace.now() method. [S.l]. 2015?. MDN Web Docs. Disponível em: <https://developer.mozilla.org/en-US/docs/Web/API/Performance/now>. Acesso em: 02 de mai. 2023. OCARIZA, F. et al. An Empirical Study of Client-Side JavaScript Bugs. IEEE International Symposium on Empirical Software Engineering and Measurement, 2013. OLUWATOSIN, H. S. Client-Server Model. IOSR Journal of Computer Engineering, 2014. OSMANI, Addy. Javascript Start-up Optimization. [S.l.]. 2017. Web.dev. Disponível em: <https://web.dev/optimizing-content-efficiency-javascript- startup-optimization/>. Acesso em: 30 de mar. 2022. OTSU, N. A Threshold Selection Method from Gray-Level Histograms. IEEE Transactions on Systems, Man, and Cybernetics, vol. 9, no. 1, pp. 62-66, Jan. 1979, doi: 10.1109/TSMC.1979.4310076. PARKKINEN, Jaana; HAUKIJÄRVI, Mikko; NENONEN, Petri. A fast method for scaling color images. 17th European Signal Processing Conference (EUSIPCO). 2009 RAJU, P. D. R.; NEELIMA, G. Image segmentation by using histogram thresholding. International Journal of Computer Science Engineering and Technology, v. 2, n. 1, p. 776-779, 2012. SARAVANA, C. Color Image to Grayscale Image Conversion. 2010 Second International Conference on Computer Engineering and Applications, 2010, pp. 196-199, doi: 10.1109/ICCEA.2010.192. SURMA, Das. Is webassembly magic performance pixie dust?. [S.l.]. 2021. Surma.dev. Disponível em: <https://surma.dev/things/js-to-asc/index.html>. Acesso em: 30 de jun. 2022. WHATWG. The canvas element. [S.I.] 2022. HTML Spec WHATWG. Disponível em: <https://html.spec.whatwg.org/multipage/canvas.html#the-canvas-element>. Acesso em: 24 de ago. de 2022. WILEY, Victor; LUCAS, Thomas. Computer vision and image processing: a paper review. International Journal of Artificial Intelligence Research, 2018. YOUSEFI, J. Image binarization using otsu thresholding algorithm. Ontario, Canada: University of Guelph, 2011.pt_BR
dc.rightsAcesso Abertopt_BR
dc.rightsAn error occurred on the license name.*
dc.rights.uriAn error occurred getting the license - uri.*
dc.subjectAplicação webpt_BR
dc.subjectWebassemblypt_BR
dc.subjectJavascriptpt_BR
dc.subjectDesenvolvimento de softwarept_BR
dc.subjectInteligência artificialpt_BR
dc.titleAvaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritospt_BR
dc.typeTCCpt_BR
dc.creator.Latteshttp://lattes.cnpq.br/3280468398920396pt_BR
dc.contributor.advisor1Neves, Renata Freire de Paiva
dc.contributor.advisor1Latteshttp://lattes.cnpq.br/9029559122700209pt_BR
dc.contributor.referee1Andrade, Hilson Gomes Vilar de
dc.contributor.referee2Vasconcelos, Eduardo de Melo
dc.contributor.referee1Latteshttp://lattes.cnpq.br/1329499647057192pt_BR
dc.contributor.referee2Latteshttp://lattes.cnpq.br/4191900873432924pt_BR
dc.publisher.departmentRecifept_BR
dc.publisher.countryBrasilpt_BR
dc.subject.cnpqCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::SOFTWARE BASICOpt_BR
dc.description.resumoO presente trabalho tem como objetivo apresentar um estudo sobre o desempenho em questão de velocidade de aplicações web que utilizam webassembly. Webassembly é uma linguagem e um formato binário de arquivo que promete ganhos de velocidade significativos em relação ao javascript. No estudo, foram desenvolvidas duas aplicações capazes de processar e classificar imagens com dígitos manuscritos. No primeiro software, todos os algoritmos de pré-processamento de imagem e a rede neural para a classificação foram implementados na linguagem C++ e compilados para webassembly utilizando o Emscripten; na segunda aplicação, os mesmos algoritmos foram escritos da maneira tradicional utilizando apenas Javascript. Ao término do estudo, testes de benchmarking foram realizados utilizando um dataset sintético no estilo MNIST. Em conclusão, o estudo sobre WebAssembly mostrou que ele tem resultados melhores nos cenários apresentados na maioria dos navegadores testados, permitindo aproveitar o poder computacional dos usuários do client-side e reduzindo a sobrecarga de chamadas ao backend. Os testes de benchmarking foram realizados nos browsers Google Chrome, Microsoft Edge, Mozilla Firefox e Brave. Em resumo, o WebAssembly é uma tecnologia promissora e que merece ser explorada por desenvolvedores e empresas, para aproveitar todo seu potencial e levar o desempenho de aplicações web ao próximo nível.pt_BR
dc.creator.name2Silva, Heber Leandro da Luz
dc.creator.Lattes2http://lattes.cnpq.br/8050526535048412pt_BR


Arquivos deste item

Thumbnail
Thumbnail

Este item aparece na(s) seguinte(s) coleção(s)

Mostrar registro simples