Performance regression for ByteArrayMemory on Java 25
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 55/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- java
- Área
- performance
Línea de trabajo
Read ByteArrayMemory and compare its atomic access handling with ByteBufferMemory's lock fallback. Run the multithreaded BenchmarkSievePrimes benchmark on JDK 25 to observe the reported regression; done for the immediate bug means ByteArrayMemory uses the slow lock path when atomic access is unsupported. The NativeMemory promotion is a separate, broader proposal.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
If running the multithreaded BenchmarkSievePrimes bench on JDK 25, one can witness a radical performance breakdown. On my local machine it runs 220 times slower than on JDK 21. The reason is primarily that it calls isAccessModeSupported on every atomic read/write. On JDK 25 this throws a NoSuchMethodError internally before returning false. AFAIK there is no supported way of doing atomics on byte[] in JDK 25 and in this scenario ByteArrayMemory should fallback to the slow lock path just like ByteBufferMemory.
After fixing this, there still won't be a performant memory on JDK 25. I propose the Redline NativeMemory (or a hardened version thereof) is promoted to a neutral supported module. It still needs its own module if runtime is to remain on JDK 11. My own experimentation has shown that the native mapped memory can also give a good performance boost when using the bytecode compilers.
- Lenguaje dominante
- Java
- Estrellas
- 310
- Forks
- 23
- Merge medio
- 2 d 8 h
- PR fusionados (30 d)
- 33
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de bytecodealliance/endive
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
bytecodealliance/endive#225 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
bytecodealliance/endive#211 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
bytecodealliance/endive#203 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Redline: trampolines must be precomputed at build time; the Cranelift bridge must not be a runtime dependencyPosiblemente ocupada @andreaTP la tomó hace 1 día. Abierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
bytecodealliance/endive#202 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Complete the SIMD integrationAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
bytecodealliance/endive#181 · 3 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
Todos los issues de bytecodealliance/endive
Issues similares
-
[i18n] 安装实例完成后的成功提示未正确本地化Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
PCL-Community/PCL-CE#3658 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Team/Identity Server Core Type/Improvement U2
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
wso2/product-is#28553 ·
Los mantenedores suelen responder en 1 día
-
[Feature]: Page CreationAbiertofrontend
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#116 ·
Los mantenedores suelen responder en 2 días
-
dependencies java
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
micrometer-metrics/tracing#1588 ·
Los mantenedores suelen responder en 1 día