DOI QR코드

DOI QR Code

Development of Branch Processing System Using WebAssembly and JavaScript

  • Choi, Moon-Hyuk (Department of Computer Engineering, Korea University of Technology and Education) ;
  • Moon, Il-Young (Department of Computer Engineering, Korea University of Technology and Education)
  • Received : 2019.09.30
  • Accepted : 2019.11.11
  • Published : 2019.12.31

Abstract

Existing web applications and services have historically been implemented using JavaScript. However, new technologies such as artificial intelligence, the Internet of Things, and Big Data are being developed as part of the Fourth Industrial Revolution. With the definition of the HTML5 web standard, services (such as the technologies mentioned above) that were previously not available through the Web become available. These services, however, need to have the same performance as native applications, and implementing these services will require new technologies. Therefore, additional tools that can work on the Web with native performance are needed. In this paper, a system for branching processing was established using JavaScript and WebAssembly, a language that can operate on the Web. This system performs user requests in advance, and requests are branched in a language that produces faster results. Therefore, a service capable of quick response times can be implemented.

Keywords

References

  1. InfoWorld, WebAssembly is now ready for browsers to use [Internet], Available: https://www.infoworld.com/article/3176681/webassemblyis-now-ready-for-browsers-to-use.html.
  2. MDN web docs, WebAssembly Concepts [Internet], Available: https://developer.mozilla.org/en-US/docs/WebAssembly/Concepts.
  3. WEBASSEMBLY, [Internet], https://webassembly.org/.
  4. M. Reiser, and L. Blaser, "Accelerate JavaScript applications by cross-compiling to WebAssembly," in Proceeding of Conference: the 9th ACM SIGPLAN International Workshop, Vancouver, pp. 10-17, 2017. DOI: 10.1145/3141871.3141873.
  5. Google Developers, Loading WebAssembly modules efficiently [Internet], Available: https://developers.google.com/web/updates/2018/04/loading-wasm.
  6. A. Haas, A. Rossberg, D. L. Schuff, B. L. Titzer, M. Holman, D. Gohman, L. Wagner, A. Zakai, and J. Bastien, "Bringing the web up to speed with WebAssembly," in Proceeding of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation, New York: NY, pp. 185-200, 2017. DOI: 10.1145/3062341.3062363.
  7. L. Stephane, O. Yann and D. Fober, "Compiling faust audio DSP code to WebAssembly," in Proceeding of 3rd Web Audio Conference, London: UK, 2017.
  8. D. Herrera, H. Chen, and E. Lavoie, "WebAssembly and JavaScript Challenge : Numerical program performance using modern browser technologies and devices," University of McGill, Montreal:QC, Technical report SABLE-TR-2018-2, 2018.
  9. WEBASSEMBLY, Portability [Internet], Available: https://webassembly.org/docs/portability/#asumptions-for-efficient-execution.
  10. MDN web docs, Matrix math for the web [Internet], Available: https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API/Matrix_math_for_the_web.
  11. Google Developers, Emscripting a C library to Wasm [Internet], Available: https://developers.google.com/web/updates/2018/03/emscripting-a-c-library.
  12. A. Zakai, "Emscripten: An LLVM-to-JavaScript compiler" in Proceeding of Conference: Companion to the 26th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Portland, pp. 301-312, 2011. DOI: 10.1145/2048147.2048224.
  13. A. Zakai, "Fast physics on the web using C++, JavaScript, and emscripten" Computing in Science & Engineering, vol. 20, no. 1, pp. 11-19, 2018. DOI: 10.1109/MCSE.2018.110150345.

Cited by

  1. Adaptable Online Game Server Design vol.18, pp.2, 2019, https://doi.org/10.6109/jicce.2020.18.2.82