我应该优化I / O应用程序的大小(-Os)

时间:2015-04-25 22:00:47

标签: c performance gcc

我有一个严重受网络I / O约束的C应用程序。它目前在gcc上使用-O2进行编译。使用-Os节目构建应用程序可以减少20%的大小。一些基本测试显示性能没有可测量的降低(或增加)。

这是使用-Os进行构建的好例子吗?有没有理由不这样做?我从来没有真正看到过编译过程的程序,无论它在I / O上花费多少时间。

1 个答案:

答案 0 :(得分:4)

优化不应影响程序的运行。因此,任何类型的优化都不应影响程序使用的网络I \ O以及其他任何内容。如果您的程序发送10千字节,即使在优化后它也会发送相同的内容。

优化可能会影响structs在其他方面的对齐方式(如代码大小,内存使用情况等),但根本不会影响逻辑(如果编程正确)。

通常,由于二进制文件往往相对较小(1MB二进制文件非常大),因此优化速度而不是大小更为常见。但是,这取决于你。