Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
25 lines (13 sloc) 2.04 KB
== Terminology ==
=== What We Mean by Benchmarking and Profiling ===
Benchmarking: Is a process that enables comparison of inputs, processes or outputs between institutions (or parts of institutions) or within a single institution over time.
Pretty blah right. If you are new to programing you probably have heard the term mostly in comparative reviews of computer and graphic card specs. If you done a bit of coding you've probably seen in mostly in terms of comparing one language to another or iterations of the same language.
Benchmarking in terms of rails is a bit more specific. It entails comparing and contrasting various parts and pages of an application against one another. Mostly one is looking for how long a page requires to render, but memory consumption is also an area of concern.
Profiling: When a page or process is seen to be problematic due to speed or memory consumption we profile it. Meaning we measures the behavior as the page or process runs, particularly the frequency and duration of function calls. The goal of profiling is not to find bugs, but to eliminate bottlenecks and establish a baseline for future regression testing. It must be engaged in a carefully controlled process of measurement and analysis.
*What does that actually mean?*
You have to have a clear goal for when you profile. It's very comparable to BDD where you are taking small steps towards a solution instead of trying to do it all in one large all encompassing step. A clearly defined set of expectations is essential for meaningful performance testing. For example, for a Web application, you need to know at least two things:
expected load in terms of concurrent users or HTTP connections and
acceptable response time.
=== Where Does this Leave Us ===
Numbers and data. You benchmark to compare, your profile to fix. It's all about gaining data to analyze and using that information to better your application. The most important thing you should take away at the moment that this must be done in a systematic way.
So the next logical question is how do we get this data.
Jump to Line
Something went wrong with that request. Please try again.