Get Instant Help From 5000+ Experts For
question

Writing: Get your essay and assignment written from scratch by PhD expert

Rewriting: Paraphrase or rewrite your friend's essay with similar meaning at reduced cost

Editing:Proofread your work by experts and improve grade at Lowest cost

And Improve Your Grades
myassignmenthelp.com
loader
Phone no. Missing!

Enter phone no. to receive critical updates and urgent messages !

Attach file

Error goes here

Files Missing!

Please upload all relevant files for quick & complete assistance.

Guaranteed Higher Grade!
Free Quote
wave
CS 7345 Advanced Application Programming
Answered

Task
Overview:
In this lab you will utilize Emscripten to convert a c++ library/application into a web application via WebAssembly (WASM). After conversion, evaluate the performance of native vs js based versions of the library.
Code Requirements:
1. Setup the Emscripten pipeline

a. Install Emscripten compiler frontend (emcc)

b. Configure system variables to allow for compilation of code

c. Verify with hello world project.

2. Identify code base to transpile.

a. A code base that has a significant computational overhead should be chosen

i. This can be a publicly available code base, that doesn’t currently have an emscripten port

ii. This can be a custom library/program you have previously created (algorithms, search, math lib, etc).

3. Test code base compiling with emcc to native executable code.

a. This verifies code base is functional and ensures compiling is possible.

4. Build code base to WebAssembly

a. Save out all file that are produced with this step

b. Use HTML output page to verify execution

i. You can modify this page to make it more user friendly, by improving the UX, but it is not required for this project.

5. Extra Credit: Attempt to improve performance of WASM code, if possible, by modifying native code.
Report Requirements:
1. List process taken to setup the Enscripten development environment

a. This should be a tutorial style writeup, showing screenshots and outputs where applicable

b. Be complete with all steps you took to get environment working

i. What websites, what sys variables (if any) did you set and how, how did you compile, etc.

2. Compare and Contrast execution time between native and wasm based code bases
 
a. Perform a timing analysis for each code base

i. Your analysis should be performed over multiple executions of the code base
 
1. Do not compare off a single execution of each code base

ii. Show confidence intervals for execution time at 95% confidence interval and discuss if the results are statistically significant

b. Extra Credit: perform same analysis above on any optimizations performed on code base.

All code should be in the “Code” folder, raw data files generated should be in “Data” and your final report should be in “Report” folder in the git repo.

support
close