Domanda

Come faccio a profiling dei miei funzioni utilizzando DrScheme?

(require profile) 
(define (factorial n)
  (cond
    ((= n 1) 1)
    (else (* n (factorial (- n 1))))))

(profile factorial)

I rendimenti di codice di cui sopra

Profiling results
-----------------
  Total cpu time observed: 0ms (out of 0ms)
  Number of samples taken: 0 (once every 0ms)

====================================
                        Caller
Idx  Total    Self    Name+srcLocal%
     ms(pct)  ms(pct)   Callee
====================================
> 

ho provato: - (profilo (fattoriale 100))
         - (profilo fattoriale) (fattoriale 100)
Ma mi dà lo stesso risultato. Che cosa sto facendo di sbagliato?

È stato utile?

Soluzione

Non ho dimestichezza con il modulo di profile in PLT Scheme, ma forse si deve chiamare in realtà la funzione?

(profile (factorial 1000))

Altri suggerimenti

Hai provato ad alzare N a (profilo (fattoriale N)) fino a quando c'è una pausa evidente?

(fattoriale 100) è il genere di cosa che un computer moderno dovrebbe essere in grado di fare in <1ms.

Basta sfiorare la documentazione mi fa sospettare la sua solo una questione di fattoriale essendo troppo veloce al profilo facilmente per questo caso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top