In C++ and Python, models are compiled on the fly before being run "natively". In JavaScript, models are currently interpreted (through using libCellML), which means that they can be quite a bit slower to run (it depends on the size of the model). Also, at this stage, libCellML's interpreter "only" supports pure algebraic and ODE models.
Now, having said all this, we should be able to build a WASM module for (the C version of) a model (using LLVM+Clang) and dynamically load that module and then run its methods (i.e. initialiseVariables(), computeComputedConstants(), computeRates(), and computeVariables()). So, everything going according to plan, we would be able to run models "natively" in JavaScript too.
In C++ and Python, models are compiled on the fly before being run "natively". In JavaScript, models are currently interpreted (through using libCellML), which means that they can be quite a bit slower to run (it depends on the size of the model). Also, at this stage, libCellML's interpreter "only" supports pure algebraic and ODE models.
Now, having said all this, we should be able to build a WASM module for (the C version of) a model (using LLVM+Clang) and dynamically load that module and then run its methods (i.e.
initialiseVariables(),computeComputedConstants(),computeRates(), andcomputeVariables()). So, everything going according to plan, we would be able to run models "natively" in JavaScript too.