Иногда бывает сложно измерить размеры реализаций в отдельности, поскольку некоторые реализации требуют, чтобы библиотечные подпрограммы были связаны, а другие - нет.Если подпрограмма # 1 на 300 байтов меньше, чем # 2, но требует 500-байтовой библиотечной подпрограммы foo (), а подпрограмма # 3 - на 300 байтов меньше # 4, но также требует ту же самую подпрограмму, тогда # 1 в отдельности будет эффективно200 (т.е. 500-300) байтов больше, чем # 2, и # 3 в отдельности будет на 200 байтов больше, чем # 4, но # 1 плюс # 3 будут на 100 байтов меньше, чем # 2 плюс # 4 (поскольку подпрограмма библиотеки будеттребуется только один раз).
Такая ситуация может часто возникать, если создается альтернатива с ограниченной функциональностью (и с уменьшенной стоимостью) некоторой библиотечной подпрограмме.Если можно избежать необходимости в дорогостоящей библиотечной подпрограмме, может оказаться целесообразным написать и использовать более простую версию.С другой стороны, если код все равно использует дорогостоящую подпрограмму, более простая версия может оказаться излишней.