Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

[custom] EIGEN_ALIGN16 bad idea

Abierto
#5,805 6 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 4 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
20/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
cpp

Línea de trabajo

Comienza con las definiciones de puntos y la macro PCL_ADD_UNION_POINT4D mostradas en el issue, y luego revisa cómo se relaciona su uso de EIGEN_ALIGN16 y de unions con los requisitos de Eigen. El trabajo estaría terminado cuando exista un enfoque acordado para una alineación configurable o eliminada que preserve el comportamiento relevante de los puntos y aborde las cuestiones de eficiencia de la caché y multithreading.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

status: triage

the use of EIGEN_ALIGN16
seems to be a very bad idea. In particular for cache efficiency and multithreading.

I would either eliminate that and all similar ones or substitute them with something configurable at compile time
giving also the option to use, compile-time-configurable directives like
alignas(std::hardware_destructive_interference_size) (and here the topic of moving to C++17 goes on)

why are the definitions of the points so relying on alignment and they make use of union??
isn't this too hard coding and anti-OOP?

#define PCL_ADD_UNION_POINT4D
union EIGEN_ALIGN16 {
float data[4];
struct {
float x;
float y;
float z;
};
};

i see it is probably "required" by Eigen

Lenguaje dominante
C++
Estrellas
11.2k
Forks
4.7k
Merge medio
5 d 8 h
PR fusionados (30 d)
10

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de PointCloudLibrary/pcl

Todos los issues de PointCloudLibrary/pcl

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.