Generate osgi metadata
Merged in splatch/trove (pull request #1)

Generate osgi metadata
Improve toArray performance for empty primitive hash sets and maps.

While analyzing some code for performance bottlenecks, I noticed that
TLongHashSet.toArray() for empty sets was spinning through a lot of CPU
iterating through all of the states, even though the colleciton was empty. This
change short circuits toArray to return the empty array for empty collections,
giving a roughly 50% increase in performance for empty collections, while
maintaining performance for non-empty collections.

JMH benchmarks for before/after comparison of TIntHashSet.toArray() for varying
sizes of sets of 0, 1, 10, and 100 elements.

Before changes (baseline):
Benchmark                               Mode Thr    Cnt  Sec         Mean   Mean error    Units
g.t.b.ToArrayBenchmark.toArray_0000    thrpt   1      5    2        0.049        0.005   ops/ns
g.t.b.ToArrayBenchmark.toArray_0001    thrpt   1      5    2        0.045        0.004   ops/ns
g.t.b.ToArrayBenchmark.toArray_0010    thrpt   1      5    2        0.018        0.001   ops/ns
g.t.b.ToArrayBenchmark.toArray_0100    thrpt   1      5    2        0.002        0.000   ops/ns
g.t.b.ToArrayBenchmark.toArray_0000     avgt   1      5    2       20.115        0.517    ns/op
g.t.b.ToArrayBenchmark.toArray_0001     avgt   1      5    2       21.412        1.070    ns/op
g.t.b.ToArrayBenchmark.toArray_0010     avgt   1      5    2       53.599        1.597    ns/op
g.t.b.ToArrayBenchmark.toArray_0100     avgt   1      5    2      453.046       41.071    ns/op

After changes:
Benchmark                               Mode Thr    Cnt  Sec         Mean   Mean error    Units
g.t.b.ToArrayBenchmark.toArray_0000    thrpt   1      5    2        0.074        0.002   ops/ns
g.t.b.ToArrayBenchmark.toArray_0001    thrpt   1      5    2        0.047        0.001   ops/ns
g.t.b.ToArrayBenchmark.toArray_0010    thrpt   1      5    2        0.018        0.001   ops/ns
g.t.b.ToArrayBenchmark.toArray_0100    thrpt   1      5    2        0.002        0.000   ops/ns
g.t.b.ToArrayBenchmark.toArray_0000     avgt   1      5    2       13.415        0.353    ns/op
g.t.b.ToArrayBenchmark.toArray_0001     avgt   1      5    2       21.666        0.856    ns/op
g.t.b.ToArrayBenchmark.toArray_0010     avgt   1      5    2       54.996        1.836    ns/op
g.t.b.ToArrayBenchmark.toArray_0100     avgt   1      5    2      443.527       13.193    ns/op
Merged in schlosna/trove/feature/short-circuit-toArray (pull request #2)

Improve toArray performance for empty primitive hash sets and maps.
Merge remote-tracking branch 'collective/master'
Merge pull request #2 from collectivemedia/christoph_merge_origin_master

Christoph merge origin master