Skip to content

Instantly share code, notes, and snippets.

View aclements's full-sized avatar

Austin Clements aclements

View GitHub Profile
@aclements
aclements / scale.go
Created June 26, 2015 15:07
Scale down by 2x using x/image/draw
package main
import (
"flag"
"fmt"
"image"
"image/png"
"log"
"os"
package main
import (
"math/rand"
"sync/atomic"
"time"
)
const (
numGs = 10
package main
import (
"math/rand"
"runtime"
"sync/atomic"
"time"
)
const (
@aclements
aclements / sim.py
Created November 17, 2015 14:39
Symbolic bug finder for golang/go#13143
# PYTHONPATH=/home/austin/r/stp/build/bindings/python
import sys, collections
import sym
_PageSize = 8192
_PageShift = 13
_HeapAllocChunk = 1 << 20
_MaxArena32 = 2 << 30
diff --git a/benchmark/Dockerfile b/benchmark/Dockerfile
index f1c7bc4..d05de8d 100644
--- a/benchmark/Dockerfile
+++ b/benchmark/Dockerfile
@@ -8,9 +8,13 @@ RUN mkdir -p /go/src/github.com/grafana
RUN cd /go/src/github.com/grafana && \
git clone https://github.com/raintank/grafana-api-golang-client.git && \
cd grafana-api-golang-client && \
- git checkout raintank #&& \
+ git checkout raintank #&&
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@aclements
aclements / 17503-eliminate-rescan.md
Created October 18, 2016 20:04
Preview of proposal go/golang#17503

Proposal: Eliminate STW stack re-scanning

Author(s): Austin Clements, Rick Hudson

Last updated: 2016-10-18

Discussion at https://golang.org/issue/17503.

Abstract

@aclements
aclements / findpath.py
Created October 23, 2016 03:16
GDB Python script for Go to find a path from a GC root to an object
# Compute the object graph of a Go heap and find the path from a root
# to a target address.
import gdb
import collections
class SliceValue:
"""Wrapper for slice values."""
def __init__(self, val):
@aclements
aclements / corewithpcsp.py
Last active January 17, 2017 16:55
Clone a core file with a new PC/SP for thread 1
import gdb
import re
import tempfile
import os
import subprocess
import shutil
import struct
NOTE_HDR = struct.Struct("III")
USER_REGS = struct.Struct(27*"Q")
@aclements
aclements / getg.py
Created January 9, 2017 19:07
$getg() function for gdb
import gdb
_Gdead = 6
class SliceValue:
"""Wrapper for slice values."""
def __init__(self, val):
self.val = val