<commit_before>h1. Multi-language implementations of Conway's Game of Life

The goal is to provide near identical implementations of "Conway's Game of Life":http://en.wikipedia.org/wiki/Conway's_Game_of_Life in multiple languages to measure not only the speed of the language, but for each person to assess the syntax of each, and the ease and availability of unit testing tools.

I started with the Ruby implementation, optimized it as much as I could, and then ported it to the other languages. Therefore, some languages may not be running as fast as they possibly could. Any suggestions for optimizations are greatly appreciated.

h2. Speed Results

*Note 1:* These speed results are taken on a Late 2008 Macbook, 2.4 GHz Intel Core 2 Duo, with 2 GB of 667 MHz DDR2 SDRAM.

*Note 2:* The times were calculated by averaging the times from ticks 2 through 11 (tick 1 is ignored because of cache warm up).

=. |_. Place|_. Language  |_. Tick Time|_. Render Time|_. % slower than 1st place|_. Notes          |
=. |1st.    |Javascript   |0.014s      |0.004s        |                          |Chrome 16.0.912.36|
=. |2nd.    |Ruby         |0.027s      |0.014s        |93%                       |Ruby 1.9.3p0      |
=. |3rd.    |PHP          |0.129s      |0.018s        |821%                      |PHP 5.3.6         |<commit_msg>Add benchmarks for Firefox 8 and Ruby 1.9.2<commit_after>h1. Multi-language implementations of Conway's Game of Life

The goal is to provide near identical implementations of "Conway's Game of Life":http://en.wikipedia.org/wiki/Conway's_Game_of_Life in multiple languages to measure not only the speed of the language, but for each person to assess the syntax of each, and the ease and availability of unit testing tools.

I started with the Ruby implementation, optimized it as much as I could, and then ported it to the other languages. Therefore, some languages may not be running as fast as they possibly could. Any suggestions for optimizations are greatly appreciated.

h2. Speed Results

*Note 1:* These speed results are taken on a Late 2008 Macbook, 2.4 GHz Intel Core 2 Duo, with 2 GB of 667 MHz DDR2 SDRAM.

*Note 2:* The times were calculated by averaging the times from ticks 2 through 11 (tick 1 is ignored because of cache warm up).

=. |_. Place|_. Language  |_. Tick Time|_. Render Time|_. % slower than 1st place|_. Notes          |
=. |1st.    |Javascript   |0.014s      |0.004s        |                          |Chrome 16.0.912.36|
=. |1st.    |Javascript   |0.024s      |0.005s        |71.4%                     |Firefox 8.0       |
=. |2nd.    |Ruby         |0.027s      |0.014s        |92.9%                     |Ruby 1.9.3p0      |
=. |2nd.    |Ruby         |0.035s      |0.015s        |150.0%                    |Ruby 1.9.2p290    |
=. |3rd.    |PHP          |0.129s      |0.018s        |821.4%                    |PHP 5.3.6         |
{'fraction_non_alphanumeric': 0.08281358281358281, 'fraction_numerical': 0.060637560637560636, 'mean_word_length': 2.183020948180816, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2703254', 'n_tokens_mistral': 968, 'n_tokens_neox': 818, 'n_words': 375}