Skip to content

Instantly share code, notes, and snippets.

@pettyjamesm
pettyjamesm / browser.rb
Created August 3, 2012 20:41
Awesome Ruby Synchronization Behaviors
class Browser
CreationMutex = Mutex.new
def _create_monitor_synchronized
if ((not defined?(@monit)) or @monit.nil?)
CreationMutex.synchronize do
if ((not defined?(@monit)) or @monit.nil?)
puts "Thread #{Thread.current.object_id} created @monit"
@monit = Object.new
@monit.extend(MonitorMixin)
end
@pettyjamesm
pettyjamesm / semaphore.rb
Created September 18, 2012 22:40
Ruby Semaphore Implementation
require 'monitor'
class Semaphore
def initialize(maxval = nil)
maxval = maxval.to_i unless maxval.nil?
raise ArgumentError.new("Semaphores must use a positive maximum value or have no maximum!") if maxval and maxval <= 0
@max = maxval || -1
@count = 0
@mon = Monitor.new
@dwait = @mon.new_cond
@uwait = @mon.new_cond
@pettyjamesm
pettyjamesm / PrescreenedAction
Created September 20, 2013 19:48
Converting a play! 2.2.0 Promise<Result> to Promise<SimpleResult> in Java.
public final class PrescreenedAction extends Action<Prescreen>{
@Override
public final Promise<SimpleResult> call(final Context context) throws Throwable {
final Promise<Result> screened = AccentureController.prescreenActiveSession(context.request());
if (screened != null){
return screened.flatMap(new Function<Result, Promise<SimpleResult>>(){
@Override
public final Promise<SimpleResult> apply(final Result result) throws Throwable {
return Promise.wrap(result.getWrappedResult()).flatMap(new Function<play.api.mvc.SimpleResult,Promise<SimpleResult>>(){
@pettyjamesm
pettyjamesm / ScalafmtIncrementalPlugin.scala
Created December 25, 2016 03:02 — forked from olafurpg/AutomateScalafmtPlugin.scala
Experiment to add reformatOnCompile settings to scalafmt sbt >v0.5
package org.scalafmt.sbt
import sbt.Keys._
import sbt._
import sbt.{IntegrationTest => It}
object ScalafmtIncrementalPlugin extends AutoPlugin {
override def requires: Plugins = ScalafmtPlugin
override def trigger: PluginTrigger = allRequirements
object autoImport {
@pettyjamesm
pettyjamesm / baseline-pages-serde-51cff0b7.json
Last active November 5, 2020 15:21
prestosql#5545 benchmarks
[
{
"jmhVersion" : "1.20",
"benchmark" : "io.prestosql.execution.buffer.BenchmarkPagesSerde.deserialize",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/11.0.8-amzn/bin/java",
"jvmArgs" : [
"-Xms4g",
@pettyjamesm
pettyjamesm / baseline-topn-v2.json
Last active June 17, 2021 21:52
GroupedTopNBuilder Benchmarks
[
{
"jmhVersion" : "1.20",
"benchmark" : "com.facebook.presto.operator.BenchmarkGroupedTopNBuilder.topN",
"mode" : "thrpt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/8.0.265-amzn/jre/bin/java",
"jvmArgs" : [
"-Xmx8G",
[
{
"jmhVersion" : "1.20",
"benchmark" : "io.trino.operator.aggregation.BenchmarkDecimalAggregation.benchmark",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/11.0.12-zulu/bin/java",
"jvmArgs" : [
"-Xms8g",
@pettyjamesm
pettyjamesm / baseline_join.json
Created August 25, 2021 20:51
Lookup Join Benchmarks
[
{
"jmhVersion" : "1.20",
"benchmark" : "io.trino.operator.join.BenchmarkHashBuildAndJoinOperators.benchmarkJoinHash",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/11.0.12-zulu/bin/java",
"jvmArgs" : [
"-Xms8g",
@pettyjamesm
pettyjamesm / baseline_prestodb_hash.json
Created August 27, 2021 23:14
PrestoDB InterpretedHashGenerator
[
{
"jmhVersion" : "1.20",
"benchmark" : "com.facebook.presto.operator.BenchmarkGroupByHash.benchmarkHashPosition",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/8.0.265-amzn/jre/bin/java",
"jvmArgs" : [
"-Xms8g",
@pettyjamesm
pettyjamesm / baseline_trino_aggregations_v8.json
Created September 14, 2021 20:27
Accumulator Compiler Benchmarks
[
{
"jmhVersion" : "1.20",
"benchmark" : "io.trino.operator.BenchmarkHashAndStreamingAggregationOperators.benchmark",
"mode" : "avgt",
"threads" : 1,
"forks" : 1,
"jvm" : "/local/home/pettja/.sdkman/candidates/java/11.0.12-zulu/bin/java",
"jvmArgs" : [
"-Xms8g",