Skip to content

Instantly share code, notes, and snippets.

import java.util.concurrent.TimeUnit;
import junit.framework.Assert;
import org.elasticsearch.action.admin.cluster.health.ClusterHealthStatus;
import org.elasticsearch.action.index.IndexResponse;
import org.elasticsearch.client.Client;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.TimeValue;
<!doctype html>
<html xmlns:ng="http://angularjs.org" ng:app>
<head>
<script src="http://docs-next.angularjs.org/angular-0.10.6.min.js"></script>
<script>
function MainCtrl() {
self = this;
this.name = 'Main';
this.filter = [ ]
this.result = { };
class GeoClusterer {
private final double maxDistance;
private final List<GeoCluster> clusters = Lists.newArrayList();
public GeoClusterer(double maxDistance, DistanceUnit unit) {
this.maxDistance = unit.convert(maxDistance, unit, DistanceUnit.KILOMETERS);
}
public GeoCluster add(GeoPoint point) {
@ejain
ejain / LoopBenchmark.java
Last active August 29, 2015 14:27
A JMH microbenchmark comparing the performance of different looping constructs.
package benchmark;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;
@ejain
ejain / SortBenchmark.java
Created December 18, 2014 03:39
A JMH microbenchmark comparing sorting performance on Ints.asList vs an actual List.
package benchmark;
import java.util.Collections;
import java.util.List;
import java.util.Random;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.Setup;
@ejain
ejain / SyncBenchmark.java
Last active August 29, 2015 14:11
A JMH microbenchmark to determine how a JVM is optimizing calls to synchronized methods.
package benchmark;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.infra.Blackhole;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
@ejain
ejain / ArithmeticBenchmark.java
Created December 10, 2014 00:52
A JMH microbenchmark to determine if a JVM is optimizing divisions by two.
package benchmark;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.Mode;
import org.openjdk.jmh.annotations.Scope;
import org.openjdk.jmh.annotations.State;
import org.openjdk.jmh.runner.Runner;
import org.openjdk.jmh.runner.options.Options;
import org.openjdk.jmh.runner.options.OptionsBuilder;
@ejain
ejain / gist:9522320
Created March 13, 2014 05:28
Block all IPs that requested a specific file, temporarily.
sudo grep xmlrpc /var/log/apache2/access.log \
| cut -d' ' -f1 | sort | uniq \
| xargs -I{} sudo iptables -A INPUT -s {} -j DROP