java - 已接受 XX :UseSSE values for Java JVM?

标签 java jvm sse

我想比较一个应用程序在多个 SSE 版本中的性能,但无法找到此 JVM 标志接受的值。我正在测试 0、1、3 和 4。我最不确定 4 是否被接受(我见过的所有示例最多为 3)和/或它的变体 (4.1-4.3) 是否可以明确定义.有人对此有任何进一步的信息吗?

最佳答案

使用来源 ;)

http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/39d920531a4d/src/cpu/x86/vm/vm_version_x86.cpp#l464

if (UseSSE < 4) {
  _cpuFeatures &= ~CPU_SSE4_1;
  _cpuFeatures &= ~CPU_SSE4_2;
}

if (UseSSE < 3) {
  _cpuFeatures &= ~CPU_SSE3;
  _cpuFeatures &= ~CPU_SSSE3;
  _cpuFeatures &= ~CPU_SSE4A;
}

if (UseSSE < 2)
  _cpuFeatures &= ~CPU_SSE2;

if (UseSSE < 1)
  _cpuFeatures &= ~CPU_SSE;

请注意,证明 JVM 在某种程度上了解 SSE,它可能不会为新版本生成真正有效的代码。您的里程可能会有所不同。

关于java - 已接受 XX :UseSSE values for Java JVM?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5546491/

相关文章:

c++ - 告诉 GCC "I want to use SSE4.1, but ONLY in the places I want!"

java - 在 doThrow JUNIT 之后捕获异常

Javamail : Not able to send an email with message body, 文本/html 和附件。

java - 如何在 oracle 数据库中存储 BigInteger 值

java - JNI FindClass 找不到使用 jar 的类

java - 外部项目中的 Scala 密封类子类化

java - Eclipse IDE——类型安全: unchecked invocation

java - 在 Windows 8 64 位中启动 Android Studio 时出错

c - AVX 标量运算要快得多

c - 使用 SSE 模拟标准 Math.pow 函数