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.


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

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