2010-02-06 6 views
7

J'ai posté ceci sur daniweb, mais j'ai révisé mes pensées sur le sujet. Fondamentalement, ma classe à mi-parcours de «systèmes logiciels intégrés» consiste à prendre du code (que vous avez écrit ou quelqu'un d'autre) et à l'optimiser. Je pensais à moi-même pourquoi ne pas profiter de cette opportunité pour enrichir la communauté open source, je sais que ça ne va vraiment être qu'une fonction ou plus, mais si plus de gens du cours étaient intéressés, peut-être que cela ferait des progrès pour certains projets. Donc, est-ce que quelqu'un connaît des fonctions ou de petits morceaux de code (rien de vraiment grand), qui serait assez facile à extirper et juste courir indépendamment du reste du code, et travailler juste sur l'optimisation, en particulier les pièces qui doivent courir vite, qui sont dans un projet open source?Vous cherchez un code mal optimisé

Je vais certainement poster ceci sur mon blog et renvoyer les gens à cette question pour les personnes qui veulent des idées sur les fonctions à travailler sur mon cours. Franchement, je suis fatigué de faire du travail uniquement dans le milieu universitaire et cela n'aide personne sauf à apprendre des choses théoriques, je préfère l'utiliser à bon escient et aider les autres.

+0

Vous cherchez des fonctions/extraits qui ont besoin de choses comme le déroulement de la boucle/le mouvement du code, etc. J'aurais dû le spécifier au début. – onaclov2000

+0

Avez-vous d'autres idées? Des projets où une pièce particulière est la plus longue et qui aurait le plus de vitesse si elle pouvait être optimisée davantage? – onaclov2000

+0

Si vous connaissez des projets open source que je pourrais regarder ce serait encore mieux, mais des cas spécifiques, quelqu'un qui dit "regardez ubuntu" ne serait pas utile, maintenant s'ils disaient, hé regardez cette fonction dans la fenêtre gnome gestionnaire où nous dessinons des fenêtres, il est trop lent, regardez-le et voyez si vous pouvez faire quelque chose avec! Ce serait génial! – onaclov2000

Répondre

1
  • ATLAS - peut-être difficile à améliorer, mais si vous le faites, grand bravo
  • uBLAS - peut-être en mesure d'améliorer certains modèles d'expression communs
  • de sympy - code python, certaines routines sont lentes. les développeurs apprécieraient certainement l'aide.

Probablement sympy aurait le plus grand bénéfice en termes d'amélioration. Atlas serait presque impossible à améliorer à mon avis.

vous pouvez également consulter les liens des projets sur oonumerics.org, mais si vous choisissez le projet, assurez-vous qu'il est toujours actif. les projets sont regroupés par domaines, vous avez donc beaucoup à choisir.

0

Vous pouvez télécharger le code de ce système de résolution de représentant de commerce et de l'optimiser: http://www.gebweb.net/optimap/

+0

À ce stade, je préférerais c/C++, mais je suis toujours ouvert aux suggestions, je suis en train de regarder le site en ce moment. Merci, – onaclov2000

+3

Je suppose que c'est une blague. Vous devriez lire sur le problème de voyageur de commerce. – khedron

+0

Je pense que cela serait plus lié aux algorithmes, alors que je suis plus intéressé par des choses comme le déroulement de boucle/le parallélisme, et le type d'optimisations de mouvement de code. Les optimisations d'algorithmes mineurs sont bonnes, mais tout ce qui est trop compliqué dépasse la portée du projet sur lequel nous travaillons. Je suis désolé d'avoir précisé cela plus clairement. – onaclov2000

0

Que diriez-vous d'un joli petit jeu de Boggle?

Il y a probablement des moyens d'optimiser les comparaisons de chaînes, des boucles, des algorithmes de recherche, les caches.

+0

Cela semble intéressant, merci! – onaclov2000