Required tools for playing around with memory:
hexdump
objdump
readelf
xxd
gcore
#!/usr/bin/env bash | |
declare -i last_called=0 | |
declare -i throttle_by=2 | |
@throttle() { | |
local -i now=$(date +%s) | |
if (($now - $last_called >= $throttle_by)) | |
then | |
"$@" |
# 2.4.2p198 on MBP 2017 i7 | |
user system total real | |
-- YAML size=86 delta_vsz=0 delta_rss=2092 | |
17.730000 0.060000 17.820000 ( 17.851288) | |
-- JSON size=83 delta_vsz=0 delta_rss=4 | |
0.850000 0.000000 0.870000 ( 0.892370) |
require 'pry' # gem install pry | |
# Pass in an enumeration of data and | |
# (optionally) a block to extract the grouping aspect of the data. | |
# | |
# Optional: sort_by lambda (operates on group key and count) | |
def puts_hist(data, sort_by:nil, &blk) | |
data = data.map(&blk) if blk | |
counts = data.each_with_object(Hash.new(0)) {|k,h| h[k]+=1} |