函数传入的变量数目非常多怎么办?

因为程序相对有点复杂,传入的变量非常的多,可能有几十个变量,因为把所有的预分配的变量全部搞到最外层循环了。
对于这种情况,这么多的变量传入会不会影响速度?有什么好的方法将这些变量传入到函数中呢?函数调用太不美观了,太丑了。
虽然内存进行完全的优化,但是计算速度仍不及未作任何优化的matlab代码,真搞不清楚是什么原因了。(这里可以忽略,因为代码太多,没法传)

你先看下matlab用了多核cpu没, cpu总体占用率是多少

你profiler看懂了没, 用 https://docs.julialang.org/en/v1/manual/performance-tips/index.html#man-performance-annotations-1 这几个宏了没

代码呢? :yum:

虽然我不太懂julia的性能优化,但我之前学matlab时,好像听说过matlab有自动的性能优化。虽然名义上的多核运算得用 parfor 。但实际上,进行矩阵运算就会自动调用多核运算。

建议你用 profile 找到哪一部分慢,然后把该部分做成一个最小工作示例,并对比julia 和 MATLAB,再把该部分代码贴出来。不然只能根据经验提一些基础的、没有针对性的建议。另外,对于顺序无关的循环,可以用 @threads 宏使用多线程运算。

经常一起出现的变量就打包进结构体。

谢谢,看来只能这样了。

可能是这样的,毕竟是大公司大团队做的。谢谢你!

再次说明,你不给别人看源码没有任何人能够帮助你。如果是商业代码可以考虑雇佣一个顾问。这个钱比你买MATLAB的商业license要少。

你这样只是在浪费大家的时间。

好的,麻烦大家了!