I was thinking that the driver could be the issue.

The code is this one but dont expect you to read it.
Just in case you want to read this code...
The data i query is distributed among some tables. The problem is that the
records in the table RESULTS are not just a line record, but many records
that together compose a record

Example
instead of having this record

ID Field1 Field2 Field3 Field3 y have
1     aaa    bbb     ccc    ddd

ID FieldName, value
1    field1          aaa
1    field2          bbb
1   field3           ccc



# -*- coding: latin-1 -*-
##calculo da média de D90
## for x in docs:
## temp=float(x['DTG_SECA__D90']) if x['DTG_SECA__D90']!="" else 0
## list.append(temp)
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
import datetime as dt
import win32com.client
import datetime
import sys
import pickle
conn = win32com.client.Dispatch(r'ADODB.Connection')
rs = win32com.client.Dispatch('ADODB.Recordset')
docs=[]
doc={}
def substitui(valor):
    a=valor
    return a.replace('
','').replace('-','_').replace('*','x').replace('(','').replace(')','').replace('>','')

def
Output(Analises,Unidades,templateKey,productKey,secagemKey,startDate,endDate,Coluna,sortedList):

    samples={}
    if secagemKey!='*':
        secKey=" and SAMPLE.SAMPLING_POINT LIKE '"+secagemKey+"'"
    else:
        secKey=''
    DSN="Provider=sqloledb;Data Source=192.168.1.14,1433;Initial
Catalog='limslab';User Id='xxx';Password='xxx';"
    conn.Open(DSN)
    rs_name="SELECT  distinct
SAMPLE.SAMPLE_NUMBER,SAMPLE.TEMPLATE,SAMPLE.ID_PARTIDA,SAMPLE.X_LOTE,SAMPLE.X_PALETE,SAMPLE.STATUS,SAMPLE.SAMPLING_POINT,SAMPLE.PRODUCT,SAMPLE.SAMPLED_DATE,SAMPLE.X_HORA,SAMPLE.X_SILO,SAMPLE.X_PILOTO,SAMPLE.X_RECEITA,SAMPLE.X_OBSERV,SAMPLE.CUSTOMER
FROM SAMPLE where "+templateKey + secKey + " and SAMPLE.SAMPLED_DATE >=
'"+startDate+"' AND SAMPLE.SAMPLED_DATE <= '"+endDate+"' and SAMPLE.PRODUCT
like '"+productKey+"'  and SAMPLE.STATUS<>'X' order by
SAMPLE.SAMPLED_DATE,SAMPLE.X_HORA";
    statusKey={'I':'Incompleta','C':'Completa','U':'Não
recebida','X':'Cancelada','P':'Em progresso','A':'Autorizada'}
    rs.Open( rs_name , conn)
    cont=3
    while 1:
        if rs.EOF:
           break
        else:
            sample={}
            print checkNone(rs.Fields(0).Value)
            sample_number=checkNone(rs.Fields(0).Value)
            sample['Template']=checkNone(rs.Fields(1).Value)
            sample['ID_PARTIDA']=checkNone(rs.Fields(2).Value)
            sample['X_LOTE']=checkNone(rs.Fields(3).Value)
            sample['X_PALETE']=checkNone(rs.Fields(4).Value)
            sample['Status']=statusKey[rs.Fields(5).Value]
            sample['Sampling Point']=checkNone(rs.Fields(6).Value)
            sample['Product']=checkNone(rs.Fields(7).Value)
            tempdate=str(rs.Fields(8).Value)[:8]
            sample['Sampled
Date']="20"+tempdate[6:8]+"-"+tempdate[3:5]+"-"+tempdate[:2]
            sample['Hora']=str(rs.Fields(9).Value)
            sample['Silo']=checkNone(rs.Fields(10).Value)
            sample['X_PILOTO']=checkNone(rs.Fields(11).Value)
            sample['X_RECEITA']=checkNone(rs.Fields(12).Value)
            sample['X_OBSERV']=checkNone(rs.Fields(13).Value)
            sample['CUSTOMER']=checkNone(rs.Fields(14).Value)
            samples[sample_number]=sample
        rs.MoveNext()
    conn.Close()
    samplesSorted=samples.keys()
    samplesSorted.sort()
    for x in samplesSorted:

        doc={}
        hasrecord=0
        Analysis=Analises
        conn.Open(DSN)
        rs_name="SELECT TEST.ANALYSIS, RESULT.NAME,RESULT.FORMATTED_ENTRY,
RESULT.IN_SPEC FROM SAMPLE,RESULT,TEST WHERE SAMPLE.SAMPLE_NUMBER =
TEST.SAMPLE_NUMBER AND TEST.TEST_NUMBER = RESULT.TEST_NUMBER and
RESULT.SAMPLE_NUMBER="+str(x) +" and RESULT.STATUS<>'X'"
        rs.Open( rs_name , conn)
        for xx in Analysis:
            for yy in Analysis[xx]['subcolunas']:
                Analysis[xx]['subcolunas'][yy]=''
        while 1:
            if rs.EOF:
               break
            else:
                hasrecord=1
                analise=checkNone(rs.Fields(0).Value)
                if analise in Analises:
                    if Coluna in Analises[analise]['imprime']:

#Analysis['LOTE']['subcolunas']['LOTE']=getLote(str(x))[0]
                        Analysis['Sample N']['subcolunas']['Sample N']=x


Analysis['ID_PARTIDA']['subcolunas']['ID_PARTIDA']=samples[x]['ID_PARTIDA']

Analysis['X_LOTE']['subcolunas']['X_LOTE']=samples[x]['X_LOTE']

Analysis['X_PALETE']['subcolunas']['X_PALETE']=samples[x]['X_PALETE']

Analysis['Status']['subcolunas']['Status']=samples[x]['Status']
                        Analysis['Sampling Point']['subcolunas']['Sampling
Point']=samples[x]['Sampling Point']

Analysis['Product']['subcolunas']['Product']=samples[x]['Product']
                        Analysis['Sampled Date']['subcolunas']['Sampled
Date']=samples[x]['Sampled Date']

Analysis['Hora']['subcolunas']['Hora']=samples[x]['Hora']

Analysis['Silo']['subcolunas']['Silo']=samples[x]['Silo']

Analysis['X_PILOTO']['subcolunas']['X_PILOTO']=samples[x]['X_PILOTO']

Analysis['X_RECEITA']['subcolunas']['X_RECEITA']=samples[x]['X_RECEITA']

Analysis['X_OBSERV']['subcolunas']['X_OBSERV']=samples[x]['X_OBSERV']

Analysis['CUSTOMER']['subcolunas']['CUSTOMER']=samples[x]['CUSTOMER']

                        if rs.Fields(1).Value in
Analises[analise]['subcolunas'].keys():

                            #print "encontrado ",
analise,"|"+rs.Fields(1).Value+"|",checkNone(rs.Fields(2).Value)
                            if checkNone(rs.Fields(3).Value)=='F':


Analysis[analise]['subcolunas'][rs.Fields(1).Value]='/F'+str(checkNone(rs.Fields(2).Value))
                            else:

Analysis[analise]['subcolunas'][rs.Fields(1).Value]=checkNone(rs.Fields(2).Value)
            rs.MoveNext()
        conn.Close()
        if hasrecord==1:
            for y in sortedList:
                if Coluna in Analises[y]['imprime']:
                    #len2=len(Analises[y]['subcolunas'])
                    for z in Analises[y]['subcolunas']:

doc[substitui(y)+"__"+substitui(z)]=Analysis[y]['subcolunas'][z]
            docs.append(doc)

        hasrecord=0

def checkNone(valor):
    if valor==None:
        return ''
    else:
        return valor

if __name__ == "__main__":
    file = open("c:\\Analises.pck", "r")
    Analises = pickle.load(file)

    file.close()
    file = open("c:\\Unidades.pck", "r") # read mode
    Unidades= pickle.load(file)
    file.close()
    file = open("c:\\Templates.pck", "r") # read mode
    Templates = pickle.load(file)
    file.close()
    sorted=Analises
    template='SECAGEM'
    templateKey="((SAMPLE.TEMPLATE like 'SEC%') or (SAMPLE.TEMPLATE like
'FD%'))"
    productKey='S1000S'
    startDate='2012-08-01'
    endDate='2012-08-31'
    secagemKey='*'
    Coluna ='B'
    moveTo = None

Output(Analises,Unidades,templateKey,productKey,secagemKey,startDate,endDate,Coluna,sorted)
    xaxis=[]
    yaxis=[]
    keys=docs[0].keys()
    for x in docs:

data=x['SampledDate__SampledDate'][:4]+'-'+x['SampledDate__SampledDate'][8:]+'-'+x['SampledDate__SampledDate'][5:7]
        hora=x['Hora__Hora']
        if x['DTG_SECA__D50']!="":
            yaxis.append(float(x['DTG_SECA__D50']) )

#graphdata=datetime.datetime(int(data[:4]),int(data[5:7]),int(data[8:]),int(hora[:2]),int(hora[4:5]),int(hora[7:]))
            print data + " "+hora, datetime.datetime.strptime(data+"
"+hora,"%Y-%m-%d %H:%M:%S")
            xaxis.append(datetime.datetime.strptime(data+" "+hora,"%Y-%m-%d
%H:%M:%S"))
        #yaxis.append(1)
    fig = plt.figure()
    ax = fig.add_subplot(111)
    ax.plot_date(xaxis, yaxis, 'ro',label='D5')
    #ax.yaxis_date()
    fig.autofmt_xdate()
    plt.grid(True)
    plt.title('teste1')
    plt.show()


2013/7/17 Massimo Di Pierro <[email protected]>

> What's the code? Anyway, web2py is expected to be slower then PHP. 4x
> seems a lot and perhaps optimizations are possible.
>
>
> On Wednesday, 17 July 2013 03:39:46 UTC-5, Ramos wrote:
>>
>> Hello, i have a script in php to read data from an sqlserver.
>> This script is running for the last 5 years in a pentium 4 computer.
>>
>> I converted this script using the same logic to python
>> in python i use SQLOLEDB.
>>
>> Running this code in python is 4 times slower in my intel core 3 than the
>> php one.
>>
>> Is this normal?
>>
>> Thank you
>>
>  --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "web2py-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to