我已经实现了用户空间FUSE文件系统。 fuse文件系统在内核版本为3.12的SUSE机器上运行,我使用fio基准测试来测试写入吞吐量。 默认情况下,写入速度为650 MB /秒。 当我在UBUNTU机器上编译相同的源代码并生成文件系统二进制文件时,将其scp到SUSE机器并测量性能,它下降了近50%。 Ubuntu机器也运行在相同的内核版本上。 两台机器都有相同的64位拱形。
然而gcc版本不同: 在ubuntu上它是gcc版本4.6.3(Ubuntu / Linaro 4.6.3-1ubuntu5) 在Suse上它是gcc版本4.4.7 20120313
我想这可能会有所不同,但几乎50%的表现是巨大的。可能的原因和避免它的可能方式是什么?
EDIT1: 更清楚的是,有两台机器具有完全相同的硬件配置。 Ubuntu(机器A)和Suse(机器B) 二进制文件在不同的机器上编译,但在同一台机器(Suse机器B)上执行,因此两个二进制文件的运行环境完全相同。