我很好奇,除了可维护性之外,还有功能原型的任何实际优势。在这个阶段,我只能认为它对于阅读程序很有用,但不能找到关于执行是否因为原型而受到影响的信息。功能原型对性能有影响吗?
回答
功能原型设计是否影响性能?
根本不是。函数原型只定义接口。它们不是可执行代码。可执行代码在于这些接口的实现。
DVDT,
将代码分离为单独的文件时,原型是非常有用的。此外,要在程序中使用函数库,通常需要为库中的函数创建原型。最后,一些编译器自上而下读取,因此必须将原型包含在文件的顶部以启用以错误顺序显示的函数才能工作。 (实际上不是“错”,只是针对该特定实例的顺序不同)。我在这个答案中对自己的定义也很自由。
严格来说,这些机制都是“执行”的一部分。
感谢您的回复,但我仍然不确定原型设计是否会影响程序的性能。 – discipline
我不认为它会,除非你打算使用它们来动态加载库或使用定义函数指针 - 但是在那时它们可能不会被认为是“原型”。 –
将原型与定义提前的定义相比在生成的代码中没有区别。
原型是编译器在调用点进行正确转换所必需的。一旦编译器完成后,原型就没有任何区别。
函数原型造成编译器将不正确的调用标记为函数。是的,“机器”效率不受影响。另一方面,程序员的生产力可能从了解潜在的问题源头中获益。
- 1. NSClassFromString会影响性能吗?
- 2. 对象的原型链的深度是否影响性能?
- 3. Systemtap对性能的影响
- 4. connection.commit()对性能的影响
- 5. GPU功能可以影响虚拟机的性能吗?
- 6. 性能影响
- 7. 内联样式对辅助功能有影响吗?
- 8. 'public/protected/private`关键字对性能有任何影响吗?
- 9. PHP | $ value = $ anothervalue = getValue() - 它对性能有负面影响吗?
- 10. 包含不使用的类对性能有影响吗?
- 11. LINQ性能影响
- 12. 性能的影响
- 13. 没有造型的课程对性能的影响?
- 14. 对于大型.maxstack,性能会有什么影响?
- 15. 使用jaxb XMLAdapter会影响性能吗?
- 16. django adminplus会影响性能吗?
- 17. 包括影响Count的性能吗?
- 18. 很多IFRAME会影响性能吗?
- 19. Javascript SetTimeOut会影响页面性能吗?
- 20. 大型变量表的性能影响
- 21. Require_once似乎不影响所有功能?
- 22. 对Android注解的性能影响
- 23. LIMIT子句对MySql性能的影响?
- 24. Log.d和对性能的影响
- 25. 主键对SQLite性能的影响
- 26. Codeigniter HMVC对性能的影响
- 27. 从原型功能
- 28. 做数据类型选择会影响性能吗?
- 29. 在Java中使用泛型会影响性能吗?
- 30. C#铸造性能影响
如果您忽略了原型,而是在头文件中定义了一个函数,编译器可以选择内联这些函数,在这种情况下,程序的运行时性能可能会受到影响。受影响可能意味着*较慢*或可能意味着*较快*。这可能不是你想问的问题的答案。 dasblinkenlight对于单个文件程序的简单情况是正确的。 – tweej