Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Inline expansion
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Optimization replacing a function call with that function's source code}} {{Use American English|date=March 2019}} {{More citations needed|date=December 2013}} In [[computing]], '''inline expansion''', or '''inlining''', is a manual or [[compiler optimization]] that replaces a function [[call site]] with the body of the called function. Inline expansion is similar to [[macro expansion]], but occurs during compiling, without changing the [[source code]] (the text), while macro expansion occurs before compiling, and results in different text that is then processed by the [[compiler]]. Inlining is an important optimization, but has complex effects on performance.{{sfn|Chen|Chang|Conte|Hwu|1993}} As a [[rule of thumb]], some inlining will improve speed at very minor cost of space, but excess inlining will hurt speed, due to inlined code consuming too much of the [[instruction cache]], and also cost significant space. A survey of the modest academic literature on inlining from the 1980s and 1990s is given in Peyton Jones & Marlow 1999.{{sfn|Peyton Jones|Marlow|1999|loc=8. Related work, p. 17}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)