Michael McCandless
Michael McCandless
Wow, lots of fun discussion here, including specifics of how Java conditionals are evaluated. @msokolov is this still relevant? The HNSW code has been red-hot lately; maybe this change was...
Thanks @msokolov. This looks like a nice tool, helpful for giving demos of cool Lucene features at conferences, but it looks like consensus is we should not add it to...
> the Swing UI made me feel like I had stepped into a car with Marty McFly HA!
Well, it's not only the taxo facets tasks that are subject to random-seed-shift risks: ``` Traceback (most recent call last): File "/l/util.nightly/src/python/nightlyBench.py", line 1857, in validate_nightly_task_count(f'{constants.BENCH_BASE_DIR}/tasks/wikinightly.tasks', COUNTS_PER_CAT) File "/l/util.nightly/src/python/nightlyBench.py", line...
OK, besides `VectorSearch` category, only the taxo facets category was also unstable/non-deterministic: ``` OrHighMedDayTaxoFacets AndHighMedDayTaxoFacets AndHighHighDayTaxoFacets MedTermDayTaxoFacets ``` I was able to disambiguate these tasks to their pre-2023/07/28 tasks. I'll...
> Worse, when I peeked in the logs to try to pick which 5 vector searches I should pick/disambiguate to going forward, it's not easy to do so since the...
I really like this idea @jpountz! It would exercise an important code path. Maybe the noise for more than one thread would be acceptable? If we limit the threadpool to...
Hmm, except, we do not enable infoStream logging in the nightly benchmarks! We could enable it for the single-threaded index, since we don't otherwise count its metrics like docs/sec.
In fact, since power-of-two can be faster, maybe for some methods we should zero-pad? E.g. `dotProduct` will give the same (ish?) answer if you pad with 0s to the nearest/fastest...
Ooooh these look like great results @msokolov! Thanks for testing. Sort of spooky we still see some "overhead" methods in the top N hotspots (`jdk.internal.foreign.AbstractMemorySegmentImpl#checkBounds()`, `jdk.internal.misc.Unsafe#copyMemoryChecks()`, `jdk.internal.foreign.MemorySessionImpl#checkValidStateRaw()`, etc.), but net/net...