Hi. I think that best way to do it is to use wasm-opt from binaryen (thanks to Alon, hi told me how to do this):
bin/wasm-opt --func-metrics test/hello_world.wast == global [funcs] : 1 func: add [binary-bytes] : 7 [total] : 3 binary : 1 local.get : 2 export: add (add) [removable-bytes-without-it]: 48 That prints out per-function metrics, in particular the last part computes how much the wasm could be optimized down if the function were not there. So it measures not just the function size but how much it "holds on to" in the rest of the wasm, that can otherwise be removed (it measures that by removing it, running the full optimizer, and seeing how much is left). It's easy to extend it to do other related things (see src/passes/Metrics.cpp) == So, for example in linux environment you can do something like: bin/wasm-opt --func-metrics test/hello_world.wast | grep "func: <func-name>" -A1 For better linking, I get this from https://groups.google.com/forum/#!topic/emscripten-discuss/NCO4LxMbsg0 > > Ideally, a program that would take the name of a C function as input, and > output the number of bytes that the specified function contributes to the > final wasm file, along with the number of bytes that it contributes to the > final js file. > > I rewrote my application to use functions provided in html5.h, instead of > relying on SDL, and this resulted in significant size savings. So, if I could > have more insight into the overall weight of specific functions, I could > probably craft similarly thin alternatives, which could significantly improve > both download and start-up speeds (especially on mobile devices). > > -- > You received this message because you are subscribed to the Google Groups > "emscripten-discuss" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "emscripten-discuss" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
