假设我的Java程序的瓶颈确实是计算一堆矢量点积的一些紧密循环.是的我已经分析过,是的,它是瓶颈,是的,它是重要的,是的,这就是算法是什么,是的,我运行Proguard来优化字节码等.
这项工作基本上是点产品.因为,我有两个float[50],我需要计算成对产品的总和.我知道处理器指令集可以快速和批量地执行这些操作,如SSE或MMX.
是的我可以通过在JNI中编写一些本机代码来访问它们.JNI电话证明非常昂贵.
我知道你无法保证JIT编译或编译的内容.有没有人曾经听说过使用这些指令的JIT生成的代码?如果有的话,有什么关于Java代码可以帮助它以这种方式编译吗?
可能是"不"; 值得一提.
我是C/C++的新手,所以我对基本类型有几个问题:
a)你能解释一下int64_t和long(long int)之间的区别吗?据我所知,两者都是64位整数.有没有理由选择一个而不是另一个?
b)我试图int64_t在网上查找定义,但没有取得多大成功.我是否需要咨询这些问题的权威来源?
c)对于使用int64_t编译的代码,我目前包括<iostream>,这对我来说没有多大意义.还有其他包含提供声明int64_t吗?