Skip to content

Instantly share code, notes, and snippets.

View smarr's full-sized avatar
👨‍🏫
Researching and Lecturing

Stefan Marr smarr

👨‍🏫
Researching and Lecturing
View GitHub Profile
@smarr
smarr / results.md
Created June 8, 2022 08:25
Java 8 vs Java 17 Perf Difference
  exe mean
Bounce Java JDK8 C2 1
  Java JDK17 C2 1.04
  Java JDK8 Int 37.97
  Java JDK17 Int 39.25
CD Java JDK8 C2 1
  Java JDK17 C2 1.01
  Java JDK8 Int 50.37
  Java JDK17 Int 69.61
@smarr
smarr / 1-notes.md
Created May 8, 2022 20:20
Assumption Checks in Liquid Benchmarks

Which Assumptions are Checked Most, and From Where?

This is a bit of an investigation into where the interpreter spends its time checking assumptions, which is currently one of the most prominent elements in profiles.

The benchmarks under investigation are:

jt --use jvm-ce ruby --experimental-options --engine.Compilation=false harness.rb LiquidCartRender 1 1
jt --use jvm-ce ruby --experimental-options --engine.Compilation=false harness.rb LiquidRenderBibs 1 1
@smarr
smarr / 1-Notes.md
Last active May 3, 2022 15:10
Quick and Dirty TruffleRuby Liquid Stats
jt --use jvm-ce ruby --experimental-options --engine.Compilation=false harness.rb LiquidRenderBibs  1 1
jt --use jvm-ce ruby --experimental-options --engine.Compilation=false harness.rb LiquidCartParse   1 1
jt --use jvm-ce ruby --experimental-options --engine.Compilation=false harness.rb LiquidCartRender  1 1
jt --use jvm-ce ruby --experimental-options --engine.Compilation=false harness.rb LiquidMiddleware  1 1

All Counts are Activation Counts

  • Trivial Calls: 662363
@smarr
smarr / mplr-cfp.txt
Last active March 15, 2022 10:29
MPLR'22 Call for Papers
========================================================================
Call for Papers
MPLR 2022 - 19th International Conference
on Managed Programming Languages & Runtimes
September 14-16, 2022 in Brussels, Belgium
https://soft.vub.ac.be/mplr22/
Follow us @MPLR_Conf
@smarr
smarr / trace-filter.py
Created June 9, 2021 09:16
Filter RPython traces for diffing
import fileinput
import sys
import re
pointer = re.compile("0x[0-9a-f]{9,12}")
target_token = re.compile("TargetToken\\([0-9]*\\)")
address = re.compile("\\[[0-9a-f]{8,12}]")
line_num = re.compile("^\\+\\d*:")
long_number = re.compile("\\d{8,}")
@smarr
smarr / comment-on-github.ts
Created August 11, 2020 19:37
Using TypeScript and Octokit/rest.js to Comment on Pull Request or Commit
import { Octokit } from '@octokit/rest';
import { createAppAuth } from '@octokit/auth-app';
import { readFileSync } from 'fs';
// authorize on app level
const app = new Octokit({
authStrategy: createAppAuth,
auth: {
type: "app",
id: 12345,
@smarr
smarr / MS To Do Delete All Tasks.html
Created February 17, 2020 21:40
Delete All Tasks from Microsoft To Do app
<html>
<head>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@microsoft/microsoft-graph-client/lib/graph-js-sdk.js"></script>
<script type="text/javascript" src="https://alcdn.msauth.net/lib/1.2.0/js/msal.js"></script>
<script
src="https://code.jquery.com/jquery-3.4.1.min.js"
integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
crossorigin="anonymous"></script>
<script>
@smarr
smarr / fib.S
Created November 6, 2019 14:13
8-bit implementation of a recursive fibonacci
; Fibonacci
; executable with https://schweigi.github.io/assembler-simulator/
; Result is in register A
JMP .start
; fib(n) <- n is in register A
fib:
CMP A, 1 ; compare n to a
JE .fibReturnOne
JB .fibReturnZero
@smarr
smarr / somns-trace.tcl
Created August 12, 2019 12:06
SOMns Trace file Binary Template for Hex Fiend
## Binary Template for Hex Fiend
## https://github.com/ridiculousfish/HexFiend
## This gives a very basic way to navigate through a trace file
set event_types [dict create \
0 "ACTOR_CREATION" \
1 "ACTOR_CONTEXT" \
2 "MESSAGE" \
3 "PROMISE_MESSAGE" \
4 "SYSTEM_CALL" \
@smarr
smarr / SOM.g4
Last active May 20, 2019 16:13
A Grammar for SOM
grammar SOM;
/* Not maintained here, but complete and accepts all SOM code in the core-lib and are-we-fast-yet benchmarks. */
/* This parser accepts valid programs adhering to the following grammar. Comments
and white space are not dealt with in the grammar. Names of non-terminals begin
with a lower-case letter; terminals, with an upper-case one. */
classdef:
Identifier Equal superclass