This project is read-only.
Project Description
F# port of Scala code implementing an algorithm to find loops in code flow graphs.

Google used this algorithm to compare performance of multiple languages - C++, Go, Java and Scala.

See: http://multi-language-bench.googlecode.com/svn/trunk/doc/scaladays2011-paper/main.pdf

F# Performance
31 sec on Sony Viao, Win7-64, Core Duo 2GHz
20 sec on Core i5

Best performance of various languages from Google's Paper:

C++ : 23 sec
Java : 89
Scala : 58
Go : 126

F# Optimizations:
- "for" loops used in performance critical areas
- Object.Equals used for equality/inequality checking over "=" and "<>" operators

Note: Subsequently Go and C++ performance were optimized to less than 4 seconds

In terms of numbers of lines, F# code is very close to equivalent Scala

See this blog post for more http://fwaris.wordpress.com/2011/07/11/googles-multi-language-benchmark-in-f/

Last edited Jul 12, 2011 at 7:25 PM by fwaris, version 9