Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么是C++;创建唯一ID时,运行速度比Java慢一点? 我在C++和java中编写了同样的算法,我注意到C++版本比我的Mac上的java慢了一点。我在JIT打开的情况下使用默认设置编译Java版本。以及C++版本与CMake的释放选项_Java_C++ - Fatal编程技术网

为什么是C++;创建唯一ID时,运行速度比Java慢一点? 我在C++和java中编写了同样的算法,我注意到C++版本比我的Mac上的java慢了一点。我在JIT打开的情况下使用默认设置编译Java版本。以及C++版本与CMake的释放选项

为什么是C++;创建唯一ID时,运行速度比Java慢一点? 我在C++和java中编写了同样的算法,我注意到C++版本比我的Mac上的java慢了一点。我在JIT打开的情况下使用默认设置编译Java版本。以及C++版本与CMake的释放选项,java,c++,Java,C++,为什么是C++;创建唯一ID时,运行速度比Java慢一点? 我在C++和java中编写了同样的算法,我注意到C++版本比我的Mac上的java慢了一点。我在JIT打开的情况下使用默认设置编译Java版本。以及C++版本与CMake的释放选项。代码如下: #包括 #包括 //雪花 静态常量无符号整数随机数移位位=12; 静态常量unsigned int randomNumberMask=(1u Dostd::chrono::system\u clock::now()和system.

为什么是C++;创建唯一ID时,运行速度比Java慢一点? <>我在C++和java中编写了同样的算法,我注意到C++版本比我的Mac上的java慢了一点。我在JIT打开的情况下使用默认设置编译Java版本。以及C++版本与CMake的释放选项。代码如下:

#包括
#包括
//雪花
静态常量无符号整数随机数移位位=12;

静态常量unsigned int randomNumberMask=(1u Do
std::chrono::system\u clock::now()
system.currentTimeMillis()
是否具有相同的精度?请尝试删除所有按位操作,只需调用system_clock::now而不是system.currentTimeMillis。这可能是因为Java中的时钟查询速度更快。只是猜测一下。@Jacob在处理几秒差时,毫秒精度并不重要。另外,您使用的是原子整数v在一个不同于你增加它的陈述中的值。所以这不是你认为它在做的。你误解了我的评论。我的“p.s.”关于原子整数与速度无关,而是正确性。所有关于C++基准的问题都是无用的,除非提供了编译代码的具体编译器设置。编译器是什么?你给它提供了什么优化标志?你的构建类型是什么?(调试/发布-你说的,好)JVM会自动对所生成的字节码执行优化,但是除非指定具体的优化标志,否则C++编译器将不会执行很多优化。
5479
6289
6306
6267
6290
6284
6280
6285
6278
6406
7586
7499
7533
7637
7711
7638
7634
7607
7575
7538