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

Use in keyword wherever possible

Abierto
#194 2 comentarios 1 reacción 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
32/100
Tipo de issue
Refactorización
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
csharp
Área
performance

Línea de trabajo

Comienza con el operador de multiplicación de float4 mostrado en el issue y, a continuación, inspecciona otros métodos y operadores que copian parámetros. Determina qué casos pueden usar la palabra clave in sin cambiar el comportamiento y verifica que las operaciones afectadas conserven su comportamiento mientras mejoran el rendimiento fuera de Burst.

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

Descripción

there is no need to indirectly create a copy of parameters in most cases. using in can drastically improve performance for several methods and operators.

for example changing float4 multiply to

    public static float4 operator * (in float4 lhs, in float4 rhs) { return new float4 (lhs.x * rhs.x, lhs.y * rhs.y, lhs.z * rhs.z, lhs.w * rhs.w); }

results in a massive performance improvement in .Net 5 (hopefully similar in Mono) ~3.1 ns vs ~0.1 ns (intel 7th gen)

burst might do that already internally but it could finally make this library faster than the built in Vector3/4/... outside of Burst

PS: soon™ https://docs.microsoft.com/en-us/dotnet/api/system.math.sincos?view=net-6.0

Lenguaje dominante
C#
Estrellas
1.4k
Forks
159
Métricas de merge de PR
Sin PR fusionados en 30 d

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

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 Unity-Technologies/Unity.Mathematics

Todos los issues de Unity-Technologies/Unity.Mathematics

Issues similares

Más issues de C#

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.