Joel Liu's personal annotations on this page
Joel bookmarked
on 2008-01-24
-
When totaling the number of operations for algorithms here, any C operator is
counted as one operation. Intermediate assignments, which need not be written to
RAM, are not counted. Of course, this operation counting approach only serves as
an approximation of the actual number of machine instructions and CPU time. All
operations are assumed to take the same amount of time, which is not true in
reality, but CPUs have been heading increasingly in this direction over time.
There are many nuances that determine how fast a system will run a given sample
of code, such as cache sizes, memory bandwidths, instruction sets, etc. In the
end, benchmarking is the best way to determine whether one method is really
faster than another, so consider the techniques below as possibilities to test
on your target architecture.
This link has been bookmarked by 11 people . It was first bookmarked on 24 Jan 2008, by Joel Liu.
-
-
When totaling the number of operations for algorithms here, any C operator is
counted as one operation. Intermediate assignments, which need not be written to
RAM, are not counted. Of course, this operation counting approach only serves as
an approximation of the actual number of machine instructions and CPU time. All
operations are assumed to take the same amount of time, which is not true in
reality, but CPUs have been heading increasingly in this direction over time.
There are many nuances that determine how fast a system will run a given sample
of code, such as cache sizes, memory bandwidths, instruction sets, etc. In the
end, benchmarking is the best way to determine whether one method is really
faster than another, so consider the techniques below as possibilities to test
on your target architecture.
-
Would you like to comment?
Join Diigo for a free account, or sign in if you are already a member.