Skip to content

Instantly share code, notes, and snippets.

@danielshaya
danielshaya / CreateChronicleTest.java
Last active August 29, 2015 14:17
Chronicle implementation for creating 10m objects
package zeroalloc;
import net.openhft.chronicle.map.ChronicleMap;
import net.openhft.chronicle.map.ChronicleMapBuilder;
import net.openhft.lang.values.IntValue;
import org.junit.Assert;
import org.junit.Test;
import java.io.File;
import java.io.IOException;
@danielshaya
danielshaya / LambdaTest.java
Created April 7, 2015 10:56
Lambdas in one line
package util;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@danielshaya
danielshaya / Interrupt.java
Created April 16, 2015 17:34
Interrupt example
package util;
/**
* Created by daniel on 16/04/15.
*/
public class Interrupt {
public static void main(String[] args) {
Thread sleeperThread = new Thread(){
public void run(){
try {
@danielshaya
danielshaya / NextTask.java
Created April 16, 2015 20:02
How to handle an interrupt correctly
public Task getNextTask(BlockingQueue<Task> queue){
boolean interrupted = false;
try{
while(true){
try{
return queue.take();
}catch(InterruptedException e){
interrupted = true;
//retry
}
package util;
public class LatencyMeasureExample {
public static void main(String[] args) throws InterruptedException{
//Below are a couple of examples
LatencyMeasure lm = new LatencyMeasure(1000000);
System.out.println("Thread.sleep() random");
for (int i = 0; i < 100000; i++) {
lm.startMeasure();
@danielshaya
danielshaya / LatencyMeasure.java
Last active August 29, 2015 14:20
LatencyMeasure
package util;
import java.util.Arrays;
public class LatencyMeasure {
private long[] times;
private long time;
private int index=0;
@danielshaya
danielshaya / Allocation.java
Last active August 29, 2015 14:20
Code in tight loops
package util;
import java.util.Set;
public class Allocation {
static int iterations = 10_000_000;
public static void main(String[] args) {
new Thread(){
package util;
public class Allocation1 {
static int iterations = 10_000_000;
public static void main(String[] args) {
for (int i = 0; i <3 ; i++) {
testNoAllocations();
testAllocations();
}
package util;
public class Allocation2 {
static int iterations = 10_000_000;
public static void main(String[] args) {
for (int i = 0; i <3 ; i++) {
testNoAllocations();
testAllocations();
package util;
import java.io.*;
import java.util.zip.GZIPOutputStream;
public class LambdaExceptions {
public static void main(String[] args) {
try {
//Write with compression
writeToFile(new File("test"), "Hello World", GZIPOutputStream::new);