Almost exactly a year ago, we published a blog post stating that we had 345kLOC of production OCaml code and 171kLOC of production F# code. Today, we have 261kLOC of production F# code!
How much is that in megabytes - 10 or so?I'm very much interested in the compilation characteristics. Namely:- How long does the full rebuild take?- How many projects (assemblies?) is this split into; how many executables and how many DLLs?- How long does the build take on average (i.e. while you're working)?- What's the build parallelism ratio - i.e. how many cores are used when doing a full rebuild, avg/max?- What's the average implementation file length? Do you use interface files?
The reason I'm asking is - my tiny codebase (44 files, 3.5 KLOC) already takes 4 seconds to compile, so I wonder if F# scales to large projects (4 seconds are bad, but I can live with that; I wonder how I'll feel when I reach 10 seconds or more...).On large C++ codebases you can get huge gains with parallelism (i.e. IncrediBuild), and incremental builds are quite fast as long as link time is not a problem; but F# has neither incremental nor parallel building within an assembly, which is sad.
4 *seconds*? Or 10? Or even 120?Take the time to have a look out the window, or go grab a cup of relaxing herbal tea! :)
Post a Comment