Most likely you used MATLAB Compiler to create a deployment executable, and so when that executable is run, first thing it does is starting MATLAB engine (46 seconds in your case, likely) and then running your code (2 seconds). When you ran your code in the editor directly, MATLAB is already started, so it only took 2 seconds.
As you added "MATLAB Coder" to the list of products for this question, you can try using MATLAB Coder (codegen) to generate a native executable for your OS, and deploy that executable. It won't require MATLAB at all so it will likely run in 2 seconds or less. The getting started guides are here: https://www.mathworks.com/campaigns/products/offer/download_matlab-coder.html
A more heavyweight solution is to set up a MATLAB production server, so that MATLAB is always loaded up in memory, and thus incoming work requests (such as "run this code") would take no more time than running directly in the editor.