diff options
Diffstat (limited to 'railties/doc')
-rw-r--r-- | railties/doc/guides/benchmarking_and_profiling/basics.txt | 7 | ||||
-rw-r--r-- | railties/doc/guides/benchmarking_and_profiling/edge_rails_features.txt | 11 | ||||
-rw-r--r-- | railties/doc/guides/benchmarking_and_profiling/images/kgraph.png | bin | 92342 -> 0 bytes | |||
-rw-r--r-- | railties/doc/guides/benchmarking_and_profiling/images/klist.png | bin | 20323 -> 0 bytes | |||
-rw-r--r-- | railties/doc/guides/benchmarking_and_profiling/rubyprof.txt | 9 | ||||
-rw-r--r-- | railties/doc/guides/benchmarking_and_profiling/statistics.txt | 3 |
6 files changed, 12 insertions, 18 deletions
diff --git a/railties/doc/guides/benchmarking_and_profiling/basics.txt b/railties/doc/guides/benchmarking_and_profiling/basics.txt index ee27a059cd..2a34795b08 100644 --- a/railties/doc/guides/benchmarking_and_profiling/basics.txt +++ b/railties/doc/guides/benchmarking_and_profiling/basics.txt @@ -1,10 +1,11 @@ == On The Road to Optimization == === Looking at the log file in regards to optimization === - You actually have been gathering data for benchmarking throughout your development cycle. Your log files are not just for error detection they also contain very useful information on how speedy your action is behaving. +You actually have been gathering data for benchmarking throughout your development cycle. Your log files are not just for error detection they also contain very useful information on how speedy your action is behaving. .Regular Log Output -============================================================================ +---------------------------------------------------------------------------- + Processing MediaController#index (for 127.0.0.1 at 2008-07-17 21:30:21) [GET] Session ID: BAh7BiIKZmxhc2hJQzonQWN0aW9uQ29udHJvbGxlcjo6Rmxhc2g6OkZsYXNo @@ -24,7 +25,7 @@ Rendering media/index Rendered layouts/_header (0.00051) *Completed in 0.04310 (23 reqs/sec) | Rendering: 0.00819 (19%) | DB: 0.00757 (17%) | 200 OK [http://localhost/media]* -============================================================================ +---------------------------------------------------------------------------- What concerns us here is the last line of the action. diff --git a/railties/doc/guides/benchmarking_and_profiling/edge_rails_features.txt b/railties/doc/guides/benchmarking_and_profiling/edge_rails_features.txt index 640b895fac..765a1e2120 100644 --- a/railties/doc/guides/benchmarking_and_profiling/edge_rails_features.txt +++ b/railties/doc/guides/benchmarking_and_profiling/edge_rails_features.txt @@ -150,12 +150,7 @@ require 'test/performance/test_helper.rb' === Testing === -Rails has two types of performance testing : - -* profile - For finding out what's slow in something -* benchmark - For determining how fast is something - -In other words, you first _benchmark_ your application to find out if something is not fast. And then _profile_ it to find out what exactly is slowing it down. +#TODO is there some way to compare multiple request at once like ruby_analyze Now, if we look at the generated performance test ( one we generated using _script/generate performance_test_ ), it'll look something like : @@ -172,7 +167,6 @@ end ---------------------------------------------------------------------------- - The format looks very similar to that of an integration test. And guess what, that's what it is. But that doesn't stop you from testing your Model methods. You could very well write something like : [source, ruby] @@ -188,7 +182,4 @@ end ---------------------------------------------------------------------------- - - - Which is very useful way to profile individual processes. diff --git a/railties/doc/guides/benchmarking_and_profiling/images/kgraph.png b/railties/doc/guides/benchmarking_and_profiling/images/kgraph.png Binary files differdeleted file mode 100644 index fecdcd0531..0000000000 --- a/railties/doc/guides/benchmarking_and_profiling/images/kgraph.png +++ /dev/null diff --git a/railties/doc/guides/benchmarking_and_profiling/images/klist.png b/railties/doc/guides/benchmarking_and_profiling/images/klist.png Binary files differdeleted file mode 100644 index 57b3568832..0000000000 --- a/railties/doc/guides/benchmarking_and_profiling/images/klist.png +++ /dev/null diff --git a/railties/doc/guides/benchmarking_and_profiling/rubyprof.txt b/railties/doc/guides/benchmarking_and_profiling/rubyprof.txt index a24302390e..2dd5f2a99a 100644 --- a/railties/doc/guides/benchmarking_and_profiling/rubyprof.txt +++ b/railties/doc/guides/benchmarking_and_profiling/rubyprof.txt @@ -8,7 +8,6 @@ One of the things that is important to us is how long it takes to render the hom In the terminal run -+ [source, bash] ---------------------------------------------------------------------------- [User profiling_tester]$ gcruby tests/performance/homepage.rb @@ -124,11 +123,12 @@ Total: 6537.000000 1.44 111.00 94.00 0.00 17.00 31 Array#each-1 ============================================================================ + #TODO Find correct terminology for how to describe what this is exactly profiling as in are there really 2203 array objects or 2203 pointers to array objects?. === Graph Files === -While the information gleamed from flat files is very useful we still don't know which processes each method is calling. We only know how many. This is not true for a graph file. Below is a text representation of a graph file. The actual graph file is an html entity and an example of which can be found link:Examples/graph.html[Here] +While the information gleamed from flat files is very useful we still don't know which processes each method is calling. We only know how many. This is not true for a graph file. Below is a text representation of a graph file. The actual graph file is an html entity and an example of which can be found link:examples/graph.html[Here] #TODO (Handily the graph file has links both between it many processes and to the files that actually contain them for debugging. ) @@ -142,7 +142,6 @@ Thread ID: 21277412 100.00% 0.00% 8.77 0.00 8.77 1 #toplevel* 8.77 0.00 8.77 1/1 Object#run_primes /____________________________________________________________________________/ - 8.77 0.00 8.77 1/1 #toplevel 100.00% 0.00% 8.77 0.00 8.77 1 Object#run_primes* 0.02 0.00 0.02 1/1 Object#make_random_array @@ -166,11 +165,11 @@ It's pointless trying to represent a tree file textually so here's a few pretty .KCachegrind Graph [caption="KCachegrind graph"] -image:Images/KGraph.png[Graph created by KCachegrind] +image:images/kgraph.png[Graph created by KCachegrind] .KCachegrind List [caption="KCachegrind List"] -image:Images/KList.png[List created by KCachegrind] +image:images/klist.png[List created by KCachegrind] #TODO Add a bit more information to this. diff --git a/railties/doc/guides/benchmarking_and_profiling/statistics.txt b/railties/doc/guides/benchmarking_and_profiling/statistics.txt index c1548dd089..9fca979dec 100644 --- a/railties/doc/guides/benchmarking_and_profiling/statistics.txt +++ b/railties/doc/guides/benchmarking_and_profiling/statistics.txt @@ -1,5 +1,8 @@ == A Lession In Statistics == +#TODO COMPRESS DOWN INTO A PARAGRAPH AND A HALF +maybe I'll just combine with the methodology portion as an appendix. + Adapted from a blog Article by Zed Shaw. His rant is funnier but will take longer to read. <br /> http://www.zedshaw.com/rants/programmer_stats.html[Programmers Need To Learn Statistics Or I Will Kill Them All] === Why Learn Statistics === |