2010-02-06 12 views
7

Publiqué esto en daniweb, pero he revisado mis pensamientos sobre el asunto.Buscando un código poco optimizado

Básicamente, el término medio de mi clase de 'Integrated Software Systems' es tomar algún código (ya sea que haya escrito o el de otra persona) y optimizarlo.

Pensé para mí mismo por qué no aprovechar esta oportunidad para enriquecer a la comunidad de código abierto, sé que realmente solo va a ser una función más o menos, pero si más personas del curso estuvieran interesadas tal vez haría algún progreso para algunos proyectos.

Así que, ¿alguien sabe de alguna función o pequeños trozos de código (nada realmente grande), que sería algo fácil de eliminar y ejecutar independientemente del resto del código, y solo optimizarlo, especialmente las piezas que necesita correr rápido, que están en un proyecto de código abierto?

Definitivamente voy a publicar esto en mi blog y referiré a las personas a esta pregunta para las personas que deseen que las ideas sobre las funciones trabajen en mi curso.

Francamente, he estado cansado de hacer solo un trabajo académico y realmente no está ayudando a nadie excepto aprender cosas teóricas, prefiero usarlo bien y ayudar a otros.

+0

Buscando funciones/fragmentos que necesiten elementos como desenrollar bucles/código de movimiento, etc. Debería haber especificado eso inicialmente. – onaclov2000

+0

¿Alguna otra idea a alguien? ¿Proyectos en los que una pieza en particular se ejecuta más tiempo y generaría el mayor aumento de velocidad si se puede optimizar más? – onaclov2000

+0

Si conoces algún proyecto de código abierto que pudiera ver que sería incluso mejor, pero casos específicos, alguien que diga "mira a ubuntu" no sería útil, ahora si dijeran, oye esta función dentro de la ventana de gnome Gerente en el que estamos dibujando ventanas, se está ejecutando demasiado lento, échale un vistazo y ve si puedes hacer algo con eso. ¡Eso seria genial! – onaclov2000

Respuesta

1
  • ATLAS - podría ser difícil de mejorar, pero si lo hace, grandes felicitaciones
  • UBLAS - puede ser capaz de mejorar algunos patrones de expresión comunes
  • sympy - código Python, algunas rutinas son lentos. los desarrolladores definitivamente apreciarían la ayuda.

Probablemente sympy tendría la mayor recompensa en términos de mejora. Atlas sería casi imposible de mejorar en mi opinión.

También puede consultar enlaces de proyectos en oonumerics.org, pero si elige proyecto, asegúrese de que aún esté activo. los proyectos están agrupados por sus campos, por lo que tiene mucho para elegir.

0

Puede descargar el código para este viaje solucionador vendedor y optimizarlo: http://www.gebweb.net/optimap/

+0

En este punto, preferiría c/C++ pero todavía estoy abierto a sugerencias, en realidad estoy viendo el sitio en este momento. Gracias, – onaclov2000

+3

Sospecho que esto es una broma. Deberías leer sobre el problema del Vendedor ambulante. – khedron

+0

Sospecho que esto estaría más relacionado con los algoritmos, mientras que estoy más interesado en cosas como desenrollar/paralelismo de bucles y optimizar el tipo de movimiento de código. Las optimizaciones de algoritmos menores están bien, pero cualquier cosa demasiado complicada está fuera del alcance del proyecto en el que estamos trabajando. Lamento haberlo especificado más claramente. – onaclov2000

0

¿Qué tal un poco de buen juego de Boggle?

Probablemente hay maneras de optimizar las comparaciones de cadenas, bucles, algoritmos de búsqueda, cachés.

+0

¡Parece interesante, gracias! – onaclov2000

Cuestiones relacionadas