Community for F# / F# Server-Side Programming
Please RSVP for instructions on how to join the event.
Description
Outline
F# Server based programming
Benefits
•Concise succinct code
•Advanced asynchronous support
•
•A comparison of styles
F#
•1 source file
•43 lines
•2 types
C#
•2 source files
•166 lines
•2 type
•C# ObjectPool
•F# ObjectPool
•Sockets
2 Models of Operation
•AsyncResult Model
•SocketAsyncEventArgs Model
•IAsyncResults Model
Pros
•Well documented API
•Can be simplified with helpers in Asynchronous workflows in F#
•Fast to get an initial result
•
SocketAsyncEventArgs Model
Pros
•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
•Memory
•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
•
•Pipelines
•Closed Pipelines
–Tomas Petricek
•Image Processing Pipeline
•Open Pipelines
–Pipelets
•Closed Pipelines
•Open Pipelines
Advantages
•Composability
•Reusability
•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 http://7sharpnine.com
Tweets
Dave's upcoming trainings
Dave's past online trainings
Dave's blog posts
comment
comment
comment
comment
comment
Dave's popular questions
Course tags
- f# × 13
- functional × 4
- erlang × 3
- http × 2
- introduction × 2
- web × 2
- websharper × 2
- agents × 1
- asp.net × 1
- asp.net mvc × 1
- async × 1
- beginners,, × 1
- c# × 1
- clojure × 1
- concurrent × 1
- distributed programming × 1
- erlang express × 1
- erlang for beginners × 1
- erlang, × 1
- ets × 1
- for, × 1
- haskell × 1
- linq × 1
- ocaml × 1
- otp × 1
- otp, × 1
- pit fw × 1
- scala × 1
- servicestack × 1
- silverlight × 1
- single page application × 1
- web api × 1
- workflows × 1
Featured Courses
Learning F# - Basics
Get started with F# quickly and effectively.F# Programming I
Part I of a comprehensive 3-part introduction to the F# programming language.F# Programming II
Part II of a comprehensive 3-part introduction to the F# programming language.F# Programming III
Part III of a comprehensive 3-part introduction to the F# programming language.Understanding Functional Programming
Master functional programming concepts that jumpstart your productivity.Introduction to WebSharper
Learn how to use WebSharper for real-life web applications.
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 |