Avaliação do desempenho do Webassembly: um estudo de caso utilizando reconhecimento de dígitos manuscritos
| Autor(a) principal: | |
|---|---|
| Data de Publicação: | 2023 |
| Outros Autores: | |
| 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 |