Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos

Detalhes bibliográficos
Autor(a) principal: Silva, Heber Leandro da Luz
Data de Publicação: 2023
Outros Autores: http://lattes.cnpq.br/8050526535048412
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional do IFPE
Texto Completo: https://repositorio.ifpe.edu.br/xmlui/handle/123456789/981
Resumo: O 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.
id IFPE_eff188023506d67c81d81c614b950ad5
oai_identifier_str oai:repositorio.ifpe.edu.br:123456789/981
network_acronym_str IFPE
network_name_str Repositório Institucional do IFPE
repository_id_str
spelling 2023-06-15T14:02:10Z2023-06-15T14:02:10Z2023-04-27SILVA; 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.https://repositorio.ifpe.edu.br/xmlui/handle/123456789/981O 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.The 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.54 p.ANDREASEN, 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.An error occurred on the license name.An error occurred getting the license - uri.info:eu-repo/semantics/openAccessCIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::SOFTWARE BASICOAplicação webWebassemblyJavascriptDesenvolvimento de softwareInteligência artificialAvaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisNeves, Renata Freire de Paivahttp://lattes.cnpq.br/9029559122700209Andrade, Hilson Gomes Vilar deVasconcelos, Eduardo de Melohttp://lattes.cnpq.br/1329499647057192http://lattes.cnpq.br/4191900873432924http://lattes.cnpq.br/3280468398920396Silva, Heber Leandro da Luzhttp://lattes.cnpq.br/8050526535048412BrasilRecifeporreponame:Repositório Institucional do IFPEinstname:Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)instacron:IFPEORIGINALAvaliação do desempenho do Webassembly .pdfAvaliação do desempenho do Webassembly .pdfTrabalho de Conclusão de Cursoapplication/pdf955569https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/1/Avalia%c3%a7%c3%a3o%20do%20desempenho%20do%20Webassembly%20.pdfdbe611d3080ff47855fd0ba1dc315841MD51open accessCC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-80https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/2/license_rdfd41d8cd98f00b204e9800998ecf8427eMD52open accessLICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD53open accessTEXTAvaliação do desempenho do Webassembly .pdf.txtAvaliação do desempenho do Webassembly .pdf.txtExtracted texttext/plain80008https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/4/Avalia%c3%a7%c3%a3o%20do%20desempenho%20do%20Webassembly%20.pdf.txt9ced48c89fab015b671dbd0d0b0e55e1MD54open accessTHUMBNAILAvaliação do desempenho do Webassembly .pdf.jpgAvaliação do desempenho do Webassembly .pdf.jpgIM Thumbnailimage/jpeg5251https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/5/Avalia%c3%a7%c3%a3o%20do%20desempenho%20do%20Webassembly%20.pdf.jpgd3ef053d977f92c7aca7606a9d398f1cMD55open access123456789/9812023-06-16 03:00:56.828open accessoai:repositorio.ifpe.edu.br:123456789/981Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ifpe.edu.br/oai/requestrepositorioifpe@reitoria.ifpe.edu.bropendoar:2023-06-16T06:00:56Repositório Institucional do IFPE - Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)false
dc.title.pt_BR.fl_str_mv Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
title Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
spellingShingle Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
Silva, Heber Leandro da Luz
CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::SOFTWARE BASICO
Aplicação web
Webassembly
Javascript
Desenvolvimento de software
Inteligência artificial
title_short Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
title_full Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
title_fullStr Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
title_full_unstemmed Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
title_sort Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
author Silva, Heber Leandro da Luz
author_facet Silva, Heber Leandro da Luz
http://lattes.cnpq.br/8050526535048412
author_role author
author2 http://lattes.cnpq.br/8050526535048412
author2_role author
dc.contributor.advisor1.fl_str_mv Neves, Renata Freire de Paiva
dc.contributor.advisor1Lattes.fl_str_mv http://lattes.cnpq.br/9029559122700209
dc.contributor.referee1.fl_str_mv Andrade, Hilson Gomes Vilar de
dc.contributor.referee2.fl_str_mv Vasconcelos, Eduardo de Melo
dc.contributor.referee1Lattes.fl_str_mv http://lattes.cnpq.br/1329499647057192
dc.contributor.referee2Lattes.fl_str_mv http://lattes.cnpq.br/4191900873432924
dc.contributor.authorLattes.fl_str_mv http://lattes.cnpq.br/3280468398920396
dc.contributor.author.fl_str_mv Silva, Heber Leandro da Luz
http://lattes.cnpq.br/8050526535048412
contributor_str_mv Neves, Renata Freire de Paiva
Andrade, Hilson Gomes Vilar de
Vasconcelos, Eduardo de Melo
dc.subject.cnpq.fl_str_mv CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::SOFTWARE BASICO
topic CIENCIAS EXATAS E DA TERRA::CIENCIA DA COMPUTACAO::SISTEMAS DE COMPUTACAO::SOFTWARE BASICO
Aplicação web
Webassembly
Javascript
Desenvolvimento de software
Inteligência artificial
dc.subject.por.fl_str_mv Aplicação web
Webassembly
Javascript
Desenvolvimento de software
Inteligência artificial
description O 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.
publishDate 2023
dc.date.accessioned.fl_str_mv 2023-06-15T14:02:10Z
dc.date.available.fl_str_mv 2023-06-15T14:02:10Z
dc.date.issued.fl_str_mv 2023-04-27
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.citation.fl_str_mv SILVA; 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.
dc.identifier.uri.fl_str_mv https://repositorio.ifpe.edu.br/xmlui/handle/123456789/981
identifier_str_mv SILVA; 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.
url https://repositorio.ifpe.edu.br/xmlui/handle/123456789/981
dc.language.iso.fl_str_mv por
language por
dc.relation.pt_BR.fl_str_mv ANDREASEN, 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.
dc.rights.driver.fl_str_mv An error occurred on the license name.
An error occurred getting the license - uri.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv An error occurred on the license name.
An error occurred getting the license - uri.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 54 p.
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Recife
dc.source.none.fl_str_mv reponame:Repositório Institucional do IFPE
instname:Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)
instacron:IFPE
instname_str Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)
instacron_str IFPE
institution IFPE
reponame_str Repositório Institucional do IFPE
collection Repositório Institucional do IFPE
bitstream.url.fl_str_mv https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/1/Avalia%c3%a7%c3%a3o%20do%20desempenho%20do%20Webassembly%20.pdf
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/2/license_rdf
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/3/license.txt
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/4/Avalia%c3%a7%c3%a3o%20do%20desempenho%20do%20Webassembly%20.pdf.txt
https://repositorio.ifpe.edu.br/xmlui/bitstream/123456789/981/5/Avalia%c3%a7%c3%a3o%20do%20desempenho%20do%20Webassembly%20.pdf.jpg
bitstream.checksum.fl_str_mv dbe611d3080ff47855fd0ba1dc315841
d41d8cd98f00b204e9800998ecf8427e
8a4605be74aa9ea9d79846c1fba20a33
9ced48c89fab015b671dbd0d0b0e55e1
d3ef053d977f92c7aca7606a9d398f1c
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional do IFPE - Instituto Federal de Educação, Ciência e Tecnologia de Pernambuco (IFPE)
repository.mail.fl_str_mv repositorioifpe@reitoria.ifpe.edu.br
_version_ 1844170737845272576