Ah, CPU emulator makes some sense if it has a bytecode VM or something else with packed data.
That performance sounds very surprising. Is it on a fully optimized build? Do you see errors in the web console in firefox? It should warn if there is a perf problem like asm.js not validating. - Alon On Fri, May 9, 2014 at 1:06 PM, Christoph Husse <[email protected] > wrote: > Well I am porting a CPU emulator and it seems to think unaligned > memory accesses are really cool, or well at least the programs that > run on this emulator :) > > BTW, The port works now and runs almost good on Chrome... Like 100% > CPU utilization (one core). I think I can queeze out a bit more by > skipping some frames and using webworkers for some stuff too to get a > smooth experience. > > But on Mozilla Firefox this port stinks. Like its a slideshow. Really bad. > > On Fri, May 9, 2014 at 10:01 PM, Alon Zakai <[email protected]> wrote: > > That hasn't been my experience, actually - when I've ported apps, they > > tended to have just a small amount of unaligned accesses (e.g. in > > network-reading code, serializing code, or GC code). Just rebuilding > after > > fixing each one was fast enough. I'm surprised you have so many - what is > > their cause? Does your app purposefully pack structs to unaligned > offsets or > > something like that? Generally speaking it isn't "easy" to cause an > > unaligned access in C/C++. > > > > - Alon > > > > > > > > On Thu, May 8, 2014 at 11:06 PM, Christoph Husse > > <[email protected]> wrote: > >> > >> But back to the general public... I think its an awesome idea to add > this > >> option you described. Because an application with misaligned accesses > >> usually will not only contain one of them and it gets very tedious to > figure > >> them all out if SAFE_HEAP terminates your app on every occasion. Even > >> further it might be possible to only report for each single line of > >> SAFE_HEAP_LOAD etc ONCE per run, so that you don't get spammed with > useless > >> double reports. It's then easy to map the reported lines back to C++ > sources > >> with a debug info options as each SAFE_HEAP_LOAD will have the C++ code > line > >> as a comment behind it (could be done in a simple script for > instance)... > >> > >> As far as I know there is no tool outside of emscripten which allows you > >> to enumerate unaligned accesses. Valgrind had a feature request but it > seems > >> it landed on the GTFO TODO list for whatever reason... > >> > >> -- > >> 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 a topic in the > > Google Groups "emscripten-discuss" group. > > To unsubscribe from this topic, visit > > > https://groups.google.com/d/topic/emscripten-discuss/tOz2Yc_sLuA/unsubscribe > . > > To unsubscribe from this group and all its topics, 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. > -- 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.
