2010-02-06 20 views
7

Ho postato questo messaggio su daniweb, ma ho modificato i miei pensieri sull'argomento.In cerca di codice scarsamente ottimizzato

Fondamentalmente il mio midterm di classe "Sistemi software integrati" consiste nel prendere del codice (o scritto da altri o da qualcun altro) e ottimizzarlo.

Ho pensato a me stesso perché non sfruttare questa opportunità per arricchire la comunità open source, so che sarà davvero solo una funzione o così, ma se più persone del corso fossero interessate forse farebbe qualche progresso per alcuni progetti.

Così chiunque è a conoscenza di alcune funzioni o piccoli blocchi di codice (niente di veramente grande), che sarebbe in qualche modo facile da escludere ed eseguire semplicemente indipendentemente dal resto del codice, e solo lavorare per ottimizzarlo, in particolare i pezzi che ha bisogno di correre veloce, che sono in un progetto open source?

Inserirò sicuramente questo nel mio blog e rimanderò le persone a questa domanda per le persone che desiderano idee su funzioni su cui lavorare dal mio corso.

Francamente, sono stanco di fare solo il lavoro che è solo accademico e in realtà non aiuta nessuno, tranne l'apprendimento di cose teoriche, preferirei usarlo e aiutare gli altri.

+0

Ricerca di funzioni/snippet che richiedono operazioni come lo srotolamento del loop/il movimento del codice, ecc. Avrei dovuto specificarlo inizialmente. – onaclov2000

+0

Qualche altra idea a qualcuno? Progetti in cui un pezzo particolare è il più lungo e otterrebbe il maggior incremento di velocità se può essere ottimizzato di più? – onaclov2000

+0

Se sai di qualche progetto open source che potrei guardare sarebbe ancora meglio, ma casi specifici, qualcuno che dice "guarda ubuntu" non sarebbe utile, ora se hanno detto, guarda questa funzione all'interno della finestra di gnome manager dove stiamo disegnando windows, sta funzionando troppo lentamente, guardalo e vedi se puoi fare qualcosa con esso! Sarebbe grandioso! – onaclov2000

risposta

1
  • ATLAS - potrebbe essere difficile da migliorare, ma se lo fai, grandi complimenti
  • uBLAS - può essere in grado di migliorare alcuni modelli di espressione comuni
  • sympy - codice python, alcune routine sono lenti. gli sviluppatori apprezzerebbero sicuramente l'aiuto.

Probabilmente sympy avrebbe il maggiore profitto in termini di miglioramento. Atlas sarebbe quasi impossibile migliorare a mio avviso.

Si potrebbe anche controllare i collegamenti dei progetti su oonumerics.org, ma se si sceglie il progetto, assicurarsi che sia ancora attivo. i progetti sono raggruppati in base ai loro campi in modo da avere molto da scegliere.

0

È possibile scaricare il codice per questo commesso viaggiatore risolutore e ottimizzare: http://www.gebweb.net/optimap/

+0

A questo punto preferirei c/C++, ma sono ancora aperto ai suggerimenti, attualmente sto guardando il sito. Grazie, – onaclov2000

+3

Sospetto che sia uno scherzo. Dovresti leggere il problema del venditore ambulante. – khedron

+0

Sospetto che questo sarebbe più correlato agli algoritmi, mentre sono più interessato a cose come lo srotolamento del loop/parallelismo e il tipo di ottimizzazioni del movimento del codice. Le ottimizzazioni degli algoritmi minori vanno bene, ma qualsiasi cosa eccessivamente complicata va oltre lo scopo del progetto su cui stiamo lavorando. Mi dispiace che avrei dovuto specificarlo più chiaramente. – onaclov2000

0

Che ne dici di un bel po 'di gioco di Boggle?

C'è probabilmente modi per ottimizzare confronti tra stringhe, loop, algoritmi di ricerca, cache.

+0

Sembra interessante, grazie! – onaclov2000