Skip to content

Instantly share code, notes, and snippets.

alien
{ level: 1, dr: 50, er: 100, rr: 250, fr: 100, cr: 1000, pr: 100 },
{ level: 32, dr: 50, er: 100, rr: 250, fr: 100, cr: 1000, pr: 100 },
{ level: 42, dr: 50, er: 100, rr: 250, fr: 100, cr: 1000, pr: 100 },
{ level: 52, dr: 50, er: 100, rr: 250, fr: 100, cr: 1000, pr: 100 },
{ level: 100, dr: 50, er: 100, rr: 250, fr: 100, cr: 1000, pr: 100 },
angler
{ level: 15, dr: 150, er: 125, rr: 350, fr: 125, cr: 125, pr: 125 },
{ level: 25, dr: 150, er: 125, rr: 350, fr: 125, cr: 125, pr: 125 },
{ level: 37, dr: 150, er: 125, rr: 350, fr: 125, cr: 125, pr: 125 },
We can make this file beautiful and searchable if this error is corrected: No commas found in this CSV file in line 0.
Enemy Level Base INT Team Rested Relish Inspire Double XP Ingame
Super Mutant 48 102.8 11 2 5 10 15 100 372
Super Mutant 48 102.8 11 2 5 10 10 100 356
Super Mutant 48 102.8 11 2 5 10 5 100 344
Super Mutant 48 102.8 11 2 5 10 0 100 328
Super Mutant 48 102.8 11 4 0 0 15 100 340
Super Mutant 48 102.8 11 4 0 6 15 100 356
Super Mutant 48 102.8 11 3 0 6 15 100 352
Super Mutant 48 102.8 11 3 0 6 10 100 336
Super Mutant 48 102.8 11 3 0 6 5 100 320
LPI_Clothes_LocTheme matches LL_Clothes_LocTheme_Asylum entry (Q:1)
LL_Clothes_LocTheme_Asylum would pick Q:1 of 3 at random
LL_Clothes_Asylum_Rare would pick the first entry that the RNG matched
LLD_Creature_Glowing wants to return 1, goes into LLE_NukeResources_Glowing
LLE_NukeResources_Glowing filters out the entries closest to the target level, then the RNG is matching the filtered entries. Finally, the list picks one of the surviving entries at uniform random.
Essentially the closest to target level will only allow one entry as the entries have distinct level requirements
so pick-one-randomly is a no-op because there would be at most one item to pick.
Let's assume it picked LLS_NukeResources_Glowing
LLS_NukeResources_Glowing has no level requirement and has pick-one-randomly
Benchmark (count) Mode Cnt Score Error Units
filterAll 1 thrpt 5 28967762,314 ± 453083,236 ops/s
filterAll 10 thrpt 5 21040388,350 ± 532676,051 ops/s
filterAll 100 thrpt 5 1319559,768 ± 44046,703 ops/s
filterAll 1000 thrpt 5 388225,326 ± 14591,618 ops/s
filterAll 10000 thrpt 5 39861,957 ± 1551,280 ops/s
filterAll 100000 thrpt 5 4012,684 ± 216,191 ops/s
filterAll 1000000 thrpt 5 261,647 ± 10,538 ops/s
filterHalf 1 thrpt 5 29159317,586 ± 583423,241 ops/s
filterHalf 10 thrpt 5 15833661,485 ± 739408,073 ops/s
Benchmark (count) Mode Cnt Score Error Units
filterAll 1 thrpt 5 38420188,130 ± 925965,940 ops/s
filterAll 10 thrpt 5 13698755,182 ± 358946,568 ops/s
filterAll 100 thrpt 5 1661467,594 ± 49667,975 ops/s
filterAll 1000 thrpt 5 167023,857 ± 5220,788 ops/s
filterAll 10000 thrpt 5 16272,792 ± 1059,719 ops/s
filterAll 100000 thrpt 5 1626,623 ± 38,807 ops/s
filterAll 1000000 thrpt 5 72,114 ± 0,868 ops/s
filterHalf 1 thrpt 5 38761421,891 ± 795451,973 ops/s
filterHalf 10 thrpt 5 11969201,224 ± 255486,784 ops/s
package hu.akarnokd.rxjava2;
import java.util.concurrent.TimeUnit;
import org.junit.Test;
import io.reactivex.*;
public class ObsMergeWithCompTest {
LiveData<List<Integer>> ld = LiveDataReactiveStreams.fromPublisher(
Flowable.range(1, 5)
.delay(500, TimeUnit.MILLISECONDS)
.toList()
.toFlowable()
);
Log.d("TAG", "Sleep");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
package servicetalk;
import org.reactivestreams.Publisher;
import org.reactivestreams.tck.*;
import org.testng.annotations.*;
import io.servicetalk.concurrent.api.*;
import io.servicetalk.concurrent.reactivestreams.ReactiveStreamsAdapters;
@Test
package hu.akarnokd.kotlin
import io.reactivex.rxjava3.core.Completable
import io.reactivex.rxjava3.schedulers.Schedulers
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
object RepeatBench {
@JvmStatic
@akarnokd
akarnokd / Reaktive_benchmark.txt
Last active December 11, 2019 15:04
Reaktive benchmark suite i7 8700, Windows 10 x64, JDk 8u231
Benchmark Mode Cnt Score Error Units
c.b.r.b.j.concatmap.ConcatMapFlow.emitter avgt 10 78,889 ▒ 0,141 ms/op
c.b.r.b.j.concatmap.ConcatMapReaktive.emitter avgt 10 91,053 ▒ 0,372 ms/op
c.b.r.b.j.concatmap.ConcatMapRxJava2.emitter avgt 10 77,697 ▒ 0,270 ms/op
c.b.r.b.j.concatmap.ConcatMapFlow.iterable avgt 10 108,507 ▒ 0,380 ms/op
c.b.r.b.j.concatmap.ConcatMapReaktive.iterable avgt 10 76,537 ▒ 0,185 ms/op
c.b.r.b.j.concatmap.ConcatMapRxJava2.iterable avgt 10 93,363 ▒ 0,319 ms/op
c.b.r.b.j.filtermap.FilterMapFlow.emitter avgt 10 99,514 ▒ 2,216 ms/op