[Python] Python e saturazione CPU

2014-11-19 Thread Riccardo Brazzale
Ciao a tutti,

Trovo sempre ispirazione ma soprattutto soluzioni in questo forum.

Mi scontro con il seguente problema:

Macchina virtuale con XP (non uccidetemi) sopra una Debian su I5 con 4 gb
di ram.
La macchina virtuale è limitata a 1 cpu con 1,5 gb ram.

Ho uno script python dentro XP che apre un file testuale da 1,2 mb (scarsi)
e fa una readlines()

Poi usa alcune cose di wx (una wx.ProgressDialog)

Da li parte con un ciclo for all' interno di readlines per leggere tutte le
righe e con queste produrre
altri documenti txt. In soldoni: prende il file grande e ne fa tanti di
piccoli in base ai contenuti delle righe.

Ora il tutto funziona egregiamente tuttavia:

All'inizio è una scheggia, ma mano a mano che l'elaborazione procede la cpu
si satura e il tutto entra in agonia e non finisce mai (un minuto per
elaborare 50 righe) e dovendo elaborare 25/30 mila righe impiega ore.

Mi pare strano tanto che ho tolto la readlines() e ho impostato un
readline() per leggere una riga alla volta anziché caricare tutto in
memoria tanto per vedere se la situazione cambiava ma niente. Tale e quale.

Mi sa tanto da problema sulla virtuale.

Cosa suggerite?

Grazie per il vostro tempo.

-- 
Riccardo Brazzale
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-19 Thread Simone Federici
Riccardo Brazzale:

> Cosa suggerite?


posta il codice :-)
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-19 Thread Roberto Polli
Il 19 novembre 2014 16:49, Riccardo Brazzale
 ha scritto:
> ... prende il file grande e ne fa tanti di
> piccoli in base ai contenuti delle righe.

> All'inizio è una scheggia, ma mano a mano che l'elaborazione procede la cpu
> si satura e il tutto entra in agonia
Incolla il codice su pastebin ;) altrimenti ci serve una palla di vetro :D

Pace,
R>
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-19 Thread Marco Beri
2014-11-19 16:49 GMT+01:00 Riccardo Brazzale :

> Cosa suggerite?
>

Prova a spostare quel for oppure aumentare la dimensione di quella lista
prematurata.

Se non funziona, prova a postare il tuo codice da qualche parte, si può
fare di più così :-))

Ciao.
Marco.

-- 
http://beri.it/ - Un blog
http://beri.it/i-miei-libri/ - Qualche libro
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-19 Thread Riccardo Brazzale
Il giorno 19 novembre 2014 16:59, Simone Federici  ha
scritto:
>
>
> posta il codice :-)
>

Eccolo: abbiate pietà di me

http://pastebin.com/efhwxeTq

Grazie.


-- 
Riccardo Brazzale
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-19 Thread Riccardo Magliocchetti

Il 19/11/2014 17:42, Riccardo Brazzale ha scritto:

http://pastebin.com/efhwxeTq


cambiare
rows = fin.readlines()
for row in rows:
in
for row in fin:

dovrebbe farti risparmiare diversa memoria se hai tante righe. Magari la 
cpu era alta perchè stavi swappando?


riccardo

___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-19 Thread Simone Federici
anche la chiusura del file in input dovrebbe andare alla fine

On Wednesday, November 19, 2014, Riccardo Magliocchetti <
riccardo.magliocche...@gmail.com> wrote:

> Il 19/11/2014 17:42, Riccardo Brazzale ha scritto:
>
>> http://pastebin.com/efhwxeTq
>>
>
> cambiare
> rows = fin.readlines()
> for row in rows:
> in
> for row in fin:
>
> dovrebbe farti risparmiare diversa memoria se hai tante righe. Magari la
> cpu era alta perchè stavi swappando?
>
> riccardo
>
> ___
> Python mailing list
> Python@lists.python.it
> http://lists.python.it/mailman/listinfo/python
>


-- 
Simone Federici

Software Craftsman
XP, Agile, Scrum, Kanban
Quality, performance & security

Explicit is better than implicit.
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-20 Thread Enrico Bianchi

On 11/19/2014 08:43 PM, Simone Federici wrote:

anche la chiusura del file in input dovrebbe andare alla fine

Per la chiusura dei file, suggerirei di usare il costrutto with:

with open(filein, 'r') as fin, open(writeto + fileout, "w") as fou:
#resto del codice

Enrico
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python


Re: [Python] Python e saturazione CPU

2014-11-21 Thread Riccardo Brazzale
Il giorno 21 novembre 2014 00:03, Enrico Bianchi 
ha scritto:

>
>>  Per la chiusura dei file, suggerirei di usare il costrutto with:
>
> with open(filein, 'r') as fin, open(writeto + fileout, "w") as fou:
> #resto del codice


Per prima cosa GRAZIE a tutti.

Il problema, come sospettavo, in realta' era sulla vm. Ho abilitato
l'accelerazione 3D per lo schermo e il problema e' sparito.

Ciao.

-- 
Riccardo Brazzale
___
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python