jama 矩阵运算速度

最近写的一个程序设计矩阵与向量的乘法,跑起来特别慢,因此利用jama包来提高运算速度,对比了一下矩阵相乘的速度:

jama 表示jama的运算速度,for表示最原始的for循环处理的速度:

matix元素的值是(-3,3)之间的一个浮点型随机数:


matrix size500*5001000*10002000*20003000*3000
jama<1s2s11s38s
for 1s17s41s575s

exp快速运算:

在其他代码中看见运算exp运算的快速是实现,拿来比了下速度,似乎关系不大:

private static double fastExp(double val) {
final long tmp = (long) (1512775 * val + 1072632447);
return Double.longBitsToDouble(tmp << 32);

}

compare with 1000000 nums:
fastEXP begin :2014-01-03 11:11:23
faseEXP ends :2014-01-03 11:11:23
old begin :2014-01-03 11:11:23
old ends :2014-01-03 11:11:24

compare with 2000000 nums:
fastEXP begin :2014-01-03 11:11:24
faseEXP ends :2014-01-03 11:11:24
old begin :2014-01-03 11:11:24
old ends :2014-01-03 11:11:24

其中old begin 是指用Math.pow(Math.E,val)计算出来的值。从只粗算到秒的结果来看,这两者的区别并不大。

看来程序慢的原因还要慢慢找。





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值