Skip to content

WebAssembly and Web Worker Experiments/Evaluation #527

@robertsoakes

Description

@robertsoakes

Last year, I had a brief conversation via IRC with Joel about optimizing portions of the code base by re-implementing some of the code in ASM.js and making use of web workers. It's been a while, but I'm interested in re-engaging that conversation.

The company I work for (Guru Labs) uses noVNC in a training/collaboration application and it generally works very well. We have one view, though, where it's possible that 40 or 50 simultaneous sessions might be displayed at once. If all of the machines on the page become active at once, though, it can get really laggy and we've started to get some customer complaints about the interface being "slow".

Seems like a good time to move forward on those ideas, and I've got an engineer who is interested in taking this on as a project.

As a first step, I would like to re-implement some of the routines as a drop-in ASM.js module and then compare how much of a speedup we get. From there, the next step might be to start looking methods for putting that processing in a web worker.

Which I guess brings me to the point: do you have any feedback on where we might start to experiment? We can always spend quality time with the profiler, but having some candidates on portions of the code that might stand for a rework using ASM.js would be greatly appreciated.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions