Interesting, as I understand branch hinting is already WebAssembly proposal 
that is being worked on. Perhaps it could be use to segregate away the 
"cold" blocks (branches). Moving cold blocks into functions (as the only 
existing modularization concept in wasm) seems quite complex and possibly 
introduce a performance penalty when calling cold code. Also, I wonder if 
the (tiered) WebAssembly runtimes would even be smart enough to treat hot 
functions differently from cold ones. But I am really out of my depth here, 
not sure if any of this makes sense. 

In a more general sense: Emscripten once had PGO, which now seems to be 
deprecated (is it?). Are there any plans to bring it back? We've got some 
very specific workloads, for which we have performance profiles that we'd 
love to feed back into the build process.

Soeren



On Wednesday, January 12, 2022 at 6:27:38 PM UTC+10 [email protected] wrote:

> IIRC, Bolt reorganizes binaries to separate out cold blocks into separate 
> code sections. A similar optimization would probably be useful in 
> WebAssembly, but it would have to outline the cold blocks into separate 
> functions. Alternatively, we could add some sort of hinting about cold 
> blocks in a custom section and let the WebAssembly engine perform this 
> optimization on the compiled code.
>
> On Wed, Jan 12, 2022 at 01:32 Soeren Balko <[email protected]> wrote:
>
>> The good people at Facebook just landed their "Bolt" optimizer in LLVM:  
>> llvm-project/bolt 
>> at main ยท llvm/llvm-project (github.com) 
>> <https://github.com/llvm/llvm-project/tree/main/bolt>
>>
>> Bolt is currently limited to x86-64 and AArch64. Given the lofty 
>> performance uplift that Bolt claims to deliver, I wonder if WebAssembly 
>> would benefit from it. Any thoughts?
>>
>> -- 
>> 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].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/emscripten-discuss/1cd76c9b-7ea9-4fd4-9678-72b080204f5an%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/emscripten-discuss/1cd76c9b-7ea9-4fd4-9678-72b080204f5an%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/emscripten-discuss/1d700f91-ad66-426a-a31f-305970c1d80an%40googlegroups.com.

Reply via email to