Vasily Kirichenko's blog articles

0
comment
on 5/4/2015 12:38 PM
Go code is relatively low-level since it does not have "foreach over range" syntax construct:Results are not as impressive for a systems language: 2.38 seconds. And it lays below Rust but under Haskell: F# - 1.26D - 1.3C# - 1.4Rust - 1.66Go - 2.38Haskell - 2.8Nemerle - 5Clojure - 9Erlang - 17Ruby - 60Python - 120
>> Read the full article
.
0
comment
on 4/11/2015 7:40 AM
Let's compare how fast Rust, D and F# (.NET actually) at computing cryptography hashes, namely MD5, SHA1, SHA256 and SHA512. We're going to use rust-crypto cargo:Results:MD5 - 3.39s SHA1 - 2.89s SHA256 - 6.97sSHA512 - 4.47sNow the F# code: Results:MD5 - 2.35s (30% faster)SHA1 - 2.95s (2% slower)SHA256 - 16.56s (137% slower)SHA512 - 61.92s (1385% slower (!))And finally D: MD5 - 16.05s (470% slower)SHA1 - 2.35s (19% faster)SHA256 - 47.96s (690% slower (!))SHA512 - 61.47s (1375% slower (!))Interesting things:[...]
>> Read the full article
.
0
comment
on 3/29/2015 11:05 AM
Rust is an interesting language. It is not a primitive one, like Go where we don't have ADTs, pattern matching and generics (but we do have Nils). And it's advertising as a safe and performant system language. Today is the very first day I'm looking at it. Let's "smoke" test it with Fibonacci :) Debug: 3.75 seconds, release: 0.86 seconds. And we've got a new leader!Rust - 0.86F# - 1.26D - 1.3C# - 1.4Haskell - 2.8Nemerle - 5Clojure - 9Erlang - 17Ruby - 60Python - 120It's very interesting how it'll behave in[...]
>> Read the full article
.
0
comment
on 1/10/2015 6:11 AM
Tuomas Hietanen posted a parallel reduce function that uses TPL Tasks. I found it interesting to compare performance of this function with analogues implemented using F# Asyncs and Hopac Jobs.The author uses noop long-running reduce function to show that it's really run in parallel. In this blog post we are benchmarking another aspect of the implementations: how much extra cost is introduced by a particular parallezation mechanism (library) itself. We translate the original code almost as is to Tasks and H[...]
>> Read the full article
.
0
comment
on 1/7/2015 9:51 AM
Hopac claims that its Jobs are much more lightweight that F# Asyncs. There are many benchmarks on Hopac github repository, but I wanted to make a simple and straightforward benchmark and what could be simpler that parallel Fibonacci algorithm? :) (actually there's a more comprehensive  benchmark in the Hopac repository itself, see Fibonacci.fs)Sequential Fibonacci function is usually defined asSo write a parallel version in Hopac where each step is performed in a Job and all these Jobs are (potentially) ru[...]
>> Read the full article
.
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