When working with Gurobi, CPLEX and the like the user can choose between many different APIs, for example Python, C++, R, Java, Matlab or C. Some of these API are more efficient than others. For example, in R the user does not need to declare any data types like int, str and the like. R tries to find this out on its own while interpreting the code. This obviously comes with the cost that R code is slower interpreted than, for example, the same code written in C++.
Thus, when writing optimization models it might happen that the same model is built faster in one API than in another. However, I was wondering what happens when the model has been built and it is passed to Gurobi (or CPLEX)? Will the the API have additional effects on the solution times of Gurobi? Or does Gurobi solve equally fast with all the APIs? Formulated in a different way: will gurobi(model)
in R, model.optimize()
in Python or C++ take the same amount of time (for the same model) in all the APIs or does the choice of API affect the time needed to find the optimum of the model passed to Gurobi?