T> и BiFunction<T, T, T>. имеет ли смысл их держать в разных массивах, или можно держать их тупо в массиве объектов и вставлять checkcast на каждом использовании?
Лучше держать массивы однотипных эл-тов. Можно создать объект с полями - этими массивами. А для чего тебе это?
хм. а что лучше? поле с массивом, который не будет меняться, из 10 неизменяемых элементов или 10 неизменяемых полей?
"лучше" для чего? по каким критериям?
скорость чтения
конкретного элемента?
Простой вопрос: используются ли они только всем массивом (пройтись по всем и что-то (не) сделать), или по отдельности тоже? Если второе - однозначно лучше поля. А вообще звучит как вопрос для @javastart
ты уверен, что сейчас не занимаешься преждевременными оптимизациями? :)
нет, я сейчас выгрызаю проценты производительности там, где их очень хочется
Метрики хоть есть какие-нибудь? Что JMH показывает?
benchmarks: kscience.kmath.ast.ExpressionsInterpretersBenchmark.asmExpression Warm-up 1: 1.657 ops/s Warm-up 2: 3.180 ops/s Warm-up 3: 3.480 ops/s Warm-up 4: 3.510 ops/s Warm-up 5: 3.494 ops/s Iteration 1: 3.245 ops/s Iteration 2: 3.703 ops/s Iteration 3: 3.807 ops/s 3.585 ±(99.9%) 5.461 ops/s [Average] (min, avg, max) = (3.245, 3.585, 3.807), stdev = 0.299 CI (99.9%): [≈ 0, 9.046] (assumes normal distribution)
вообще, если подробно, то юзкейс такой. я думаю, как лучше держать константы в классах типа https://imgur.com/a/mWKgCoi
в @javastart не занимаются микрооптимизациями, связанными с генерацией байт-кода в рантайме
Да, контекст не так понял сначала, пардон.
Обсуждают сегодня