写科学模拟程式,数据量一大,程式就挂了……
以前读书的时候,写的程式根本没有经过压力测试,不管是资料库也好、运算法也好,用的 data 都不会很大,充其量只是几十个数据。
现在写科学性的模拟程式,计算数据是很正确,运算法也没错,但却没有考虑到压力的问题。
现在发现,有大负荷的程式的架构不能像以前那样写……一下子丢一个 20x 20x 20 的空间下去,已经是八千个点,走得好好的程式立刻负荷不了当掉。
就算程式优化,速度加快一倍,下次丢一个 40x40x40 的空间,还是会挂掉。
所以,要知道用怎样的语言及环境,才能最佳运用运算资源。理论上来说,不同的语言应该有它本身的创造目的,易于上手的(VB)编程出来的程式速度没有C/C++快,Java虚拟机安全性高但执行效率就没有机械码来得快……
听说,运算速度最快的是 C/C++,图形显示最通用的是 DirectX,但便携性又不能符合我的教授的要求,Java 因为虚拟机的关系,便携性及安全性都高,但我很担心它的执行效率。
夸张一点的话,如果要写一个模拟核子弹爆炸的原子碰撞(就像美国那些老外干的)的简易版,除了模拟的速度快速及正确之外,还必须要有图形显示把过程即使 show 出来(DirectX/OpenGL)。这个软件可能在Windows 上面执行,也可能在 Linux 上面执行。
基于这个目的,要使用什么语言开发呢……
近期评论