小编Bio*_*441的帖子

链接来自不同 GCC 版本的编译目标文件是否安全?

将使用不同 GCC 版本编译的源生成的对象链接到共享库是否安全?

我想不会,但是万一使用的 GCC 在代码生成和优化改进方面没有区别呢?有信息可以知道哪个 GCC 编译器不向后兼容吗?

我的问题也涉及二进制文件,我查看了

https://gcc.gnu.org/onlinedocs/gcc/Compatibility.html

据我了解,不同的GCC版本只要符合相同的ABI就可以兼容

gcc compilation

5
推荐指数
1
解决办法
838
查看次数

导致jmh测量误差的原因是什么?

我想知道在jmh测试的得分结果中可能存在误差的可能原因.在一天结束时,它是为多次迭代执行的相同代码.

java jmh

4
推荐指数
1
解决办法
523
查看次数

基准结果ForkJoin vs Disruptor?

我已经运行了这个DisruptovsFJ Mirco-Benchmarks Aleskey Shipilev,其中ForkJoin和Disruptor库的性能进行了比较.

我在Linux平台i5上使用JDK1.8.40的结果:

Benchmark                     Score,     Score Error (99.9%),Unit,Param: slicesK,

Disruptor.run,              939.801405,   20.741961,ms/op,   50000,0,10
ForkJoin.run,               1175.263451,  0.595711, ms/op,   50000,0,10
ForkJoinRecursive.run       771.854028,   26.022542,ms/op,   50000,0,10
ForkJoinRecursiveDeep.run,  1356.697011,  28.666325,ms/op,   50000,0,10
ForkJoinReuse.run,          7974.180793,  49.604539,ms/op,   50000,0,10 
Run Code Online (Sandbox Code Playgroud)

slicesK < 50000预期结果的第一部分Disruptor是使用RingBuffer和一种使其在并发上下文中高效的机制.

现在,当slicesK >= 50000Disruptor测试比ForkJoinRecursiveDeep,并ForkJoinReuse少高性能.有人可以向我解释那些结果吗?谢谢

jmh

4
推荐指数
1
解决办法
522
查看次数

__ATOMIC_RELAXED是什么意思?

在GCC原子内置我发现__atomic_exchange功能确实有第三个参数INT memorder,这可能需要的一个值__ATOMIC_RELAXED__ATOMIC_SEQ_CST__ATOMIC_ACQUIRE__ATOMIC_RELEASE,和__ATOMIC_ACQ_REL

__ATOMIC_RELAXED:暗示没有线程间排序约束。

我不确定怎么会发生,这不是原子操作,因此不会有任何线程间排序吗?

multithreading gcc

4
推荐指数
1
解决办法
1603
查看次数

GCC atomic buitlins 是否与 std=C99 一起使用?

我正在使用这个内置的原子方法链接 提到:

以下内置函数大致符合 C++11 内存模型的要求。

但是,我尝试使用std=C99和编译这些方法std=C89。程序编译,我得到正确的结果。有什么我在这里想念的吗?C99和是否也C89有内存模型?

c gcc c++11

4
推荐指数
1
解决办法
1720
查看次数

在Java 7中将重音和字符组合成一个字符

我正在尝试编写一个java代码,它返回一个结合了字符和重音的单个字符.组合的实际结果是字符串而不是单个字符.以下是一个简单的方法来说明我想要做的事情.谢谢

private char convert (char c)
{
 if (c == '\u0130')
 {
  return '\u0069 \u0307'; // If the return value is String I get i. 
}                         //I need small i double dot
else return c;
}
Run Code Online (Sandbox Code Playgroud)

java unicode normalize utf-8

3
推荐指数
1
解决办法
840
查看次数

如何在argument.nameOfTheMethod()中获取参数的值?

如何获取Argument的值来实现这样的方法.argument.nameOfTheMethod().我想在这个参数上使用一个条件来编写这个方法的代码.

例如:

"foo".charAt() 
Run Code Online (Sandbox Code Playgroud)

如何charAt获取价值"foo"

java methods

3
推荐指数
1
解决办法
61
查看次数

如何用jmh写一个getbytes的小基准?

我是JMH和基准测试的新手.我已经编写了一个public byte [] getBytes(String charsetName)方法的小测试.然而,maven无法建立.这是我的代码:

package org.openjdk.jmh.samples;
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@State(Scope.Thread)

public class Test
{   @GenerateMicroBenchmark
   public byte [] testgetbyte (String Str)
   {   

   byte[] bytes = Str.getBytes("ISO-8859-1");
   return bytes;
    }

public static void main(String[] args) throws RunnerException {      
    Options opt = new OptionsBuilder()
            .include(Test.class.getSimpleName())
            .warmupIterations(5)
            .measurementIterations(5)
            .forks(1)
            .build();

    new Runner(opt).run();

}

    }
Run Code Online (Sandbox Code Playgroud)

当我运行:mvn clean install.我收到Build failure错误消息.

java jmh

3
推荐指数
1
解决办法
802
查看次数

确定方法是第一次还是第二次被调用?

我想实现一个方法,它在第一次调用时具有不同的行为,然后在第二次调用它时.

怎么做?

java

3
推荐指数
1
解决办法
1765
查看次数

jmh中@Group和@GroupThreads指的是什么?

我一直在研究 jmh 实现“多线程”基准的方式。根据我的理解,注释@Group("Identifier")@GroupThreads(thread_number)启用同一组内的基准测试并行运行。

@Benchmark
@Group("parallel")
@GroupThreads(1)
public void benchmark_1() {
    while(true) {}
}

@Benchmark
@Group("parallel")
@GroupThreads(1)
public void benchmark_2() {
    while(true) {}
}
Run Code Online (Sandbox Code Playgroud)

使用 CPU 监视器,我发现两个 CPU 已充分使用。我想知道跑步者如何解释这些注释。

java jmh

2
推荐指数
1
解决办法
2796
查看次数

标签 统计

java ×6

jmh ×4

gcc ×3

c ×1

c++11 ×1

compilation ×1

methods ×1

multithreading ×1

normalize ×1

unicode ×1

utf-8 ×1