Blog articles of IntelliFactory

0
comment
comment
on 12/30/2011 4:09 PM
I discovered a memory leak in
Async.StartChild and here discuss a workaround based on a Future abstraction.
I noticed what appears to be a memory leak in F# standard library
function Async.StartChild. This happened in a context of
a socket server, where I attempted to perform socket reading and
writing in parallel. It seems that memory use slowly grows and memory
profiler points to some CancellationTokenSource-related
objects not being released.
As a non-leaking alternative, I used my own abstraction[...]
0
comment
comment
on 12/30/2011 9:30 AM
When WebSharper compiles F# to JavaScript it preserves
namespaces, module and class nesting to make it easy to navigate
the compiled code from JavaScript shell. Roughly speaking,
A.B.C.D.E identifier in F# can be found by typing
A.B.C.D.E in JavaScript.
This poses a challenge: as you can imagine, emitting long
qualified identifiers everywhere is not a good idea for compact
code generation. To save space WebSharper 2.4 does class/module
interning. The basic idea is to say
L=Microsoft.FSharp.Core.ListMod[...]
0
comment
comment
on 12/29/2011 12:09 PM
Can anyone explain why this code leaks memory?
Looks like using Async.StartAsTask makes it complete in constant space.
0
comment
comment
on 12/23/2011 9:43 AM
Recent FPish FPish discussion
focused on some hacks available in F# to write code that
resembles using Haskell type classes. I particularly enjoyed the
comments by Gustavo Leon and Loic Denuziere.
To cut the long story short, before compiling to .NET F#
expands methods delcared inline and does overload resolution.
This was intended to support flexible operator overloading, but
opens up the door for interesting hacks. Even code that
generalizes over higher kinds and therefore cannot exist at .NET
level [...]
0
comment
comment
on 12/15/2011 2:43 PM
In this article I discuss why F# Async is a good thing for
writing concurrent software on .NET and show how to implement your
own Async specialized for low-concurrency use. As a sample
application, I look at a simple CML-style blocking channel. 30-50
lines of custom async and threadpool implementation increase the
throughput from 100-400 K to 1M messages a second.
Concurrency? Again?
It is hard to believe that after so many man-years of computer
science research anyone would still ha[...]
Featured group
![]() | New England F# User Group 4 past events |
Latest blog articles by IntelliFactory (see all)
- F# query expressions and composability
- WebSharper 2.5.98
- CloudSharper Local alpha 0.9.6
- Update: Server exited with code 0
- Update: Showing compiler errors
- CloudSharper Local alpha 0.9.5
- CloudSharper Updates - Friday, February 14, 2014
- CloudSharper Local alpha available
- Deterministic parallelism with logging
- WebSharper 2.5.93 - improved numeric performance
- FAKE with NuGet support
- Generalizing records combinators a bit
- WebSharper, PhoneGap, and Ripple: easier native HTML5 apps
- TypeScript: initial impressions
- Using Coq as a program optimization tool
- WebSharper: From F# power features to JavaScript interop
- New FPish feature: E-mail notification
- Automate, automate, automate..
- Multi-targeting .NET projects with F# and FAKE
- Generating VSIX and VSTemplate packages in F#
- CUFP 2013 - Call for Presentations
- WebSharper for Windows 8 Desktop
- WebSharper 2.5.2-alpha on AppHarbor
- Upcoming WebSharper Changes
- WebSharper 0.4.62 is available - with dependent formlets-flowlets-third-party extensions-and more!
- Foldr or FoldBack on Infinite F# Sequences
- Generic Workflow Builders (Monads) in F#
- WGET in F#
- The Execution Speed of Early vs Late Binding in .NET
- WebSharper - Write F# and Run JavaScript
- .NET Composite Formatting with Keyword Expansion
Event tags for this company
Group tags
- f# × 33
- clojure × 14
- functional × 14
- haskell × 14
- scala × 11
- erlang × 6
- c# × 4
- .net × 3
- agile × 3
- ocaml × 3
- websharper × 3
- ddd × 2
- exchange × 2
- java × 2
- javascript × 2
- neo4j × 2
- nosql × 2
- scheme × 2
- skillsmatter × 2
- alt.net × 1
- android × 1
- architecture × 1
- async × 1
- bdd exchange × 1
- blazehtml × 1
- cassandra × 1
- clean × 1
- codeken × 1
- coffeescript × 1
- common lisp × 1
- continuous delivery × 1
- finance × 1
- fractureio × 1
- grails × 1
- groovy × 1
- html × 1
- html5 × 1
- islisp × 1
- jquery × 1
- jvm × 1
- lisp × 1
- load testing × 1
- lua × 1
- metro style × 1
- microsoft × 1
- mongodb! × 1
- ninja × 1
- ouya × 1
- package management × 1
- prog × 1
- projects × 1
- python × 1
- qcon × 1
- racket × 1
- reactive extensions × 1
- restful × 1
- riak × 1
- rx × 1
- scalability × 1
- tdd × 1
- test × 1
- titanium × 1
- unit testing × 1
- user group × 1
- web × 1
- web services × 1
- winrt × 1
![]() |
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 |