Limits of possible performance improvements of Haskell/GHC code?

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/haskell

Our great sponsors
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • vector-sorting-benchmarks

    I want to beat std::sort with Haskell.

    I recently tried to implement quicksort on vectors in Haskell aiming to make it fast enough to be comparable to C++. If you're curious you can check out https://github.com/sergv/vector-sorting-benchmarks. After some time and research on what C++ actually does I reimplemented it in Haskell and the result managed to stay within reasonable % of C++. E.g. sorting 1000 arrays of 20000 8-byte integers on my machine takes 523ms in C++ (with ffi overhead) and 545ms in fastest Haskell algorithm with closest others taking around 650ms.

  • countwords

    Playing with counting word frequencies (and performance) in various languages. (by unhammer)

    In addition to what's mentioned, the "default" libraries people use are often not the best-performing ones. E.g. Data.Vector.Hashtables is often much faster than Data.HashMap.Strict (which again is typically faster than Data.Map). And we find performance papercuts in common libraries that may simply be due to not enough people optimising for speed.

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • text

    Haskell library for space- and time-efficient operations over Unicode text. (by haskell)

    In addition to what's mentioned, the "default" libraries people use are often not the best-performing ones. E.g. Data.Vector.Hashtables is often much faster than Data.HashMap.Strict (which again is typically faster than Data.Map). And we find performance papercuts in common libraries that may simply be due to not enough people optimising for speed.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts