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
CPU-bound
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|Computer program whose performance is heavily dependent on the speed of the CPU}} {{More citations needed|date=July 2023}} In [[computer science]], a [[task (computing)|task]], [[job (computing)|job]] or [[process (computing)|process]] is said to be '''CPU-bound''' (or '''compute-bound''') when the time it takes for it to complete is determined principally by the speed of the [[Central processing unit|central processor]]. The term can also refer to the condition a [[computer]] running such a workload is in, in which its processor utilization is high, perhaps at 100% usage for many seconds or minutes, and [[interrupt]]s generated by [[peripheral]]s may be processed slowly or be indefinitely delayed.{{Citation needed|date=July 2023}} ==As applied to jobs== CPU-bound jobs will spend most of their [[walltime|execution time]] on actual computation ("number crunching"<ref name="Gill 2006 p. 83" />) as opposed to e.g. communicating with and waiting for peripherals such as [[network device|network]] or [[computer data storage|storage devices]] (which would make them [[I/O bound]] instead). Such jobs can often benefit from [[parallelization]] techniques such as [[multithreading (software)|multithreading]] if the underlying [[algorithm]] is amenable to it, allowing them to distribute their workload among multiple [[CPU core]]s and be limited by its multi-core rather than single-core performance. ==As applied to computers== The concept of CPU-bounding was developed during early computers, when data paths between computer components were simpler, and it was possible to visually see one component working while another was idle. Example components were CPU, tape drives, hard disks, card-readers, and printers. Computers that predominantly used peripherals were characterized as [[I/O bound]]. Establishing that a computer is frequently CPU-bound implies that upgrading the CPU or optimizing code will improve the overall computer performance. With the advent of multiple buses, parallel processing, [[Computer multitasking|multiprogramming]], [[preemption (computing)|preemptive]] scheduling, advanced [[graphics cards]], advanced [[sound cards]] and generally, more decentralized loads, it became less likely to identify one particular component as always being a [[Bottleneck (engineering)|bottleneck]]. It is likely that a computer's bottleneck shifts rapidly between components. Furthermore, in modern computers it is possible to have 100% CPU utilization with minimal impact to another component. Finally, tasks required of modern computers often emphasize quite different components, so that resolving a bottleneck for one task may not affect the performance of another. For these reasons, upgrading a CPU does not always have a dramatic effect. The concept of being CPU-bound is now one of many factors considered in modern computing performance. ==See also== * [[I/O bound|I/O-bound]] * [[Memory-bound function|Memory-bound]] ==References== <references> <ref name="Gill 2006 p. 83">{{cite book | last=Gill | first=P.S. | title=Operating Systems Concepts | publisher=Firewall Media | year=2006 | isbn=978-81-7008-913-1 | url=https://books.google.com/books?id=eQ0Z1JWI7AwC&pg=PA83 | access-date=2023-07-06 | page=83}}</ref> </references> ==External links== * [http://www.wisegeek.com/what-does-it-mean-to-be-cpu-bound.htm CPU bound description] * [https://stackoverflow.com/questions/868568/cpu-bound-and-i-o-bound Stackoverflow CPU bound terminology] [[Category:Computer performance]]
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)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Citation needed
(
edit
)
Template:Cite book
(
edit
)
Template:More citations needed
(
edit
)
Template:Short description
(
edit
)