Community for F# / F# Server-Side Programming

Please RSVP for instructions on how to join the event.


Dave Thomas will present on his experiments with F# for server-side programming including the fracture-io project, a high-performance socket pipeline library meant to offer a range of useful features similar to those offered in 0mq and Akka.


F# Server based programming 


Concise succinct code

Advanced asynchronous support


A comparison of styles


1 source file

43 lines

2 types


2 source files

166 lines

2 type

C# ObjectPool

F# ObjectPool


2 Models of Operation

AsyncResult Model

SocketAsyncEventArgs Model

IAsyncResults Model


Well documented API

Can be simplified with helpers in Asynchronous workflows in F#

Fast to get an initial result

SocketAsyncEventArgs Model


Less memory allocations

Better performance

Closer to the metal

Performance Differences

5 minute test

50 clients connecting to the server

15ms interval between each one 

Server sends each client a 128 byte message every 100ms

Total of 500 messages per second

CPU & Threads


Garbage collection

F# - Fracture IO

Open source high performance Socket, Pipeline, and agent library

Introducing Fracture-IO

High performance Socket library

Highly compositional pipeline library


Closed Pipelines

Tomas Petricek

Image Processing Pipeline

Open Pipelines


Closed Pipelines

Open Pipelines




Can be used at any stage of processing

Separation of concerns

Flexible routing arrangements i.e. round robin, multicast, content based routing

Future Directions

Distributed Pipelets

Wave Pipeline

Synchronous buffered Pipeline

Advanced agent based programming

- Supervision

- Pooling

- Control Messages


Dave Thomas (dave.thomas)


Dave Thomas is a technologist, computer programmer, and keen guitarist. He builds reliable efficient, high performance enterprise software in F# and C#, and also likes to belt out a good riff on the guitar! You can read his blog at

For a complete view of this profile, including education, work experience and developer information, you need to be logged in and have a subscription.


Dave's upcoming trainings

No events

Dave's past online trainings

Dave's blog posts

on 3/6/2016 2:28 PM
So I wanted to briefly talk about what I’ve been up to lately. I’ve been doing a spot of compiler hacking, working on improving type Providers and generally tinkering with concepts relating to macros etc. I’ve also been tinkering with the Elixir a[...]
on 10/25/2015 12:53 PM
Ive been meaning to write this post for ages but Ive only just found the time. On the 3rd of September my good friend Ryan Riley (aka @panesofglass) emailed me letting me know I had won a Community for F# hero award for 2015!
on 7/16/2015 9:35 AM
Ive finally been awarded a Microsoft MVP its been quite a long time coming. Ive been nominated for MVP every year since July 2011 but until now I have been unsuccessful. On the 1st of July I received an email congratulating me that I had been s[...]
on 7/12/2015 10:56 AM
Sit down, strap in, and prepare for take off, we’re going Meta-Matic! We’re going to be exploring some metaprogramming magic in F#. Transforming its abstract syntax tree (AST) into another languages AST before executing it in another virtual mac[...]
on 3/30/2015 6:15 AM
Did you know there was more to the type matching operator than just pattern matching and exception handling?

Dave's popular questions

IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper