Sto utilizzando NLTK per il tag POS hundered di tweet in una richiesta web. Come sai, Django crea un'istanza di un gestore di richieste per ogni richiesta.Prestazioni lente del tagging POS. Posso fare una specie di pre-riscaldamento?
Ho notato questo: per una richiesta (~ 200 tweets), il primo tweet ha bisogno di ~ 18 secondi per taggare, mentre tutti i tweet successivi necessitano di ~ 120 millisecondi per taggare. Cosa posso fare per accelerare il processo?
Posso fare una "richiesta di pre-riscaldamento" in modo che i dati del modulo siano già stati caricati per ogni richiesta?
class MyRequestHandler(BaseHandler):
def read(self, request): #this runs for a GET request
#...in a loop:
tokens = nltk.word_tokenize(tweet)
tagged = nltk.pos_tag(tokens)
Questo non sembra essere un codice Django: Django non usa "Handler" tranne che in alcuni interni profondi. La webapp di AppEngine, forse? –
Adescarlo con una richiesta fasulla all'avvio? Mi sembra che funzioni esattamente come dovrebbe, a meno che tu non abbia un timeout per la prima lunga richiesta. – tripleee
@ tripleee il ritardo di 18 secondi si verifica per il primo tweet di ** ogni ** richiesta – aitchnyu