• Stars
    star
    162
  • Rank 232,284 (Top 5 %)
  • Language
    Java
  • License
    Other
  • Created almost 14 years ago
  • Updated about 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Mavenized fork of http://high-scale-lib.sourceforge.net/
IF YOU ARE LOOKING for the drop-in replacement for java.util.Hashtable, it's
in the lib directory, lib/java_util_hashtable.jar.  It needs to be in your
bootclasspath.  Example:

  java -Xbootclasspath/p:lib/java_util_hashtable.jar my_java_app_goes_here


---

A collection of Concurrent and Highly Scalable Utilities.  These are intended
as direct replacements for the java.util.* or java.util.concurrent.*
collections but with better performance when many CPUs are using the
collection concurrently.  Single-threaded performance may be slightly lower.

The direct replacements match the API - but not all behaviors are covered by
the API, and so they may not work for your program.  In particular, the
replacement for java.util.Hashtable is NOT synchronized (that is the point!),
although it is multi-threaded safe.  If you rely on the undocumented
synchronization behavior of the JDK Hashtable, your program may not work.
Similarly, the iteration order is different between this version and the JDK
version (this exact issue broke the SpecJBB benchmark when the iteration order
was changed slightly (via using a slightly different hash function) between
JDK rev's).

If you want to drop-in the non-blocking versions of Hashtable, HashMap or
ConcurrentHashMap, you'll need to alter your bootclasspath - these classes
come directly from your JDK and so are found via the System loader before any
class-path hacks can be done.  

To replace the JDK implementation of Hashtable with a non-blocking version of
Hashtable, add java_util_hashtable.jar to your java launch line:

  java -Xbootclasspath/p:lib/java_util_hashtable.jar my_app_goes_here

Similarly for ConcurrentHashMap, add java_util_concurrent_chm.jar:

  java -Xbootclasspath/p:lib/java_util_concurrent_chm.jar my_app_goes_here


The other utilities do not have direct JDK replacements; you need to call them
out directly and place high_scale_lib.jar in your classpath:

- NonBlockingHashMap - Fast, concurrent, lock-free HashMap.  Linear scaling to 768 CPUs.
- NonBlockingHashMapLong - Same as above, but using primitive 'long' keys
- NonBlockingHashSet - A Set version of NBHM
- NonBlockingSetInt - A fast fully concurrent BitVector
- Counter - A simple counter that scales linearly even when extremely hot.
  Most simple counters are either unsynchronized (hence drop counts, generally
  really badly beyond 2 cpus), or are normally lock'd (hence bottleneck in the
  5-10 cpu range), or might use Atomic's (hence bottleneck in the 25-50 cpu
  range).  This version scales linearly to 768 CPUs.
  


Cliff Click

More Repositories

1

java-iso-tools

A fork of JIIC hosted on github
Java
77
star
2

jcip-annotations

A clean room implementation of the JCIP Annotations based entirely on the specification provided by the javadocs.
Java
46
star
3

envsub

An alternative envsubst that allows for ${foo:-default} expansion too
Rust
32
star
4

eaio-uuid

Fork of eaio-uuid
Java
31
star
5

non-maven-jar-maven-plugin

A plugin for making it easier to pull a non-maven jar into your build.
Java
30
star
6

tango-icon-theme

Shell
24
star
7

java-logging-benchmarks

JMH based benchmarks of different Java Logging frameworks
Java
24
star
8

findbugs-annotations

A clean-room implementation of the findbugs annotations released under the Apache License, version 2.0
Java
15
star
9

monte-screen-recorder

Mavenization of Monte Screen Recorder
Java
14
star
10

git-timestamp-maven-plugin

A plugin that computes a consistent timestamp based on your git sources.
Java
12
star
11

datadog-badges

A badge generator for Datadog monitors
Rust
8
star
12

k8s-gcr-auth-helper

A utility to forward Google Container Registry authentication into Kubernetes imagePullSecrets
Rust
5
star
13

lz4-java

LZ4 Java implementation
Java
4
star
14

jastyle

Mavenized version of jAstyle (http://sourceforge.net/projects/jastyle/). jAstyle is a 100% pure Java port of the GPL’d AStyle (http://astyle.sourceforge.net/). jAstyle is intented to be created as a library and not as a command line tool, so It does not support those options associated to standard output or console.
Java
4
star
15

2021-israel-vaccinated-verified-by-age

Shell
3
star
16

phorcys

A distributes session store for Jetty built on top of Hector and Apache Cassandra
Java
3
star
17

raas

`rm -rf /` as a service
3
star
18

cassandra-jdbc

Java
3
star
19

dns-watch

Query DNS for IP addresses of hostnames, then populate a mustache template and optionally fork a process, lather, rinse and repeat
Rust
3
star
20

busybox-httpd-docker

A small HTTP server using Busybox's httpd
Dockerfile
3
star
21

mongodb-maven-plugin

A plugin for controlling MongoDB instances from a Maven project.
Java
3
star
22

redmine-java-api

fork of https://github.com/taskadapter/redmine-java-api
Java
3
star
23

dependency-version-maven-plugin

Java
2
star
24

intellij-generate-serialization-helpers

Java
2
star
25

asf-gitpubsub-jenkins-plugin

A Jenkins plugin to parse ASF's GitPubSub messages and convert into SCMEvents
Java
2
star
26

jszip-maven-plugin

Java
2
star
27

simple-java-mail

Java
2
star
28

definalizer

Definalizer Maven Plugin for removing the "final" modifier from .class files
Java
2
star
29

jsf2-hello-world

A simple JSF 2.0 Hello World application
Java
2
star
30

tango-icon-naming

Shell
2
star
31

jetties

Native package installers of Jetty Hightide
1
star
32

gits

Command line helper for when you have to work on multiple git repos at the same time
Go
1
star
33

2021-ireland-stats

Historic captures of some COVID-19 data sets from https://covid-19.geohive.ie/search
Java
1
star
34

vijava

Fork of http://sourceforge.net/projects/vijava/
Java
1
star
35

docker-git-java8-maven-vim

My preferred development environment
Vim Script
1
star
36

end-to-end-testing

Example of End-to-End testing
Java
1
star
37

svnkit

1
star
38

docker-postgresql-cli

Minimal docker image with PostgreSQL client libraries on top
Dockerfile
1
star
39

opensocial-java-client

A fork of opensocial-java-client using scribe-java as its oauth provider
Java
1
star
40

linkedin-java-client

LinkedIn API Java Client
1
star
41

stephenc.github.io

personal github site
1
star
42

rust-k8s-sample-controller

Rust
1
star
43

2021-israel-indices-by-age-and-sex

Java
1
star
44

sidecar-http-proxy

A super simple sidecar http proxy written in Rust
Rust
1
star