Skip to content

Instantly share code, notes, and snippets.

jproyo /
Created Mar 8, 2020 — forked from monadplus/
Profiling in Haskell

You'll generally want to look at:

  • heap
  • stack
  • gc profiles

Do not get bogged down in microoptimizations before you've assessed any macro optimizations that are available. IO and the choice of algorithm dominate any low level changes you may make. In the end you have to think hard about your code!

Topos> For example, if i see that a particular pure function is taking a  long time relative to the rest of the code, and that it's Text, and I'm seeing ARR_WORDS rise linearly in the heap, I probably have a thunk-based memory leak. This is knowledge you build up over time.
jproyo / gist:28faf139bad26517f45755db21b59f6b
Created Jul 5, 2016 — forked from eduardocardoso/gist:82a629882ddb02ab3677
Script to delete exited containers and untagged/unused images from docker
View gist:28faf139bad26517f45755db21b59f6b
set -o errexit
echo "Removing exited docker containers..."
docker ps -a -f status=exited -q | xargs -r docker rm -v
echo "Removing dangling images..."
docker images --no-trunc -q -f dangling=true | xargs -r docker rmi
jproyo /
Created Nov 16, 2012
moves a folder from one git repo into another repo with history intact
# Usage:
# ./ origin/folder/path/ /destination/repo/path/ new/folder/path/