This blog contains 2 parts. In Part1(here), I will show you the essential tech in the dev tool and even more general test methods.

What I thought first thing is that same as another profiler (like Perf, gnu gprof, gperftools).

BUT, after diving into I found it more EXTENSIBLE and simple.


the major different

the above profiler will call low-level unit&&registers to touch the key components changes (eg: most cache/branch miss position/function)

yet, the browser will record the high level (eg: frame ratio, network, memory usage, and TIME cost)

the usage

I am running with chrome, but I think another browser same as this.

Remember that we will focus on the performance(or time) first:

Back to gr-web, try the deployed page:here

  1. same as grc, we need to draw our graph first

  2. enter F12 on your keyboard and select tab performance

  3. And then click Record.

  4. After that, click generate and execute

  5. Finally after the result shows, we click Record again.

you even can try to record the page loading file if you have interest

Important: do not exit early or takes a long time to record

(browser cannot get whole data to use to analyze if exit early and

if takes a long time to record the browser will cost more time to analyze since you get more data)

the analysis

Hope you have finished the above steps, and I will produce a simple graph that also captures valuable data.

The moment: after click generate and exectute will be highlight(yellow?) Ok, the generate only take a bit time, but also call wasm function: Screenshot from 2022-07-18 11-02-23 the exec dominate the major time: Screenshot from 2022-07-18 11-09-44

what is in part2

Hey, we need to port the volk kernel to simd, the current is using the generic CPP code translated to python.

So, there could be different implements(you see, the origin CPP->python code, simd-wasm porting code, grc export python code)

It will be posted soon(I promise if there everything is well)