python脚本的速度

时间:2019-04-24 16:01:31

标签: python

我有一个测试python脚本。在我的笔记本电脑Asus K73E CPU i5-2340M(2个内核,2.40 GHz)8MB RAM上,该脚本执行9.8秒。我认为这太多了,应该购买性能更高的台式PC:AMD Ryzen 5 2600(6个内核3.4GHz)和18MB RAM PC-24300。 在相同的脚本上运行并感到震惊:脚本执行了8.6秒。

新硬件的性能要高得多。为什么此股票执行时间减少了这么多?

我知道如何将脚本优化为小于一秒的值-可以在列表中添加一行,在这种情况下,脚本的运行时间为0.186,变为0.126-生产力的提高也不是很大

我很困惑。什么是主意?

import time

class Profiler(object):
    def __enter__(self):
        self._startTime = time.time()

    def __exit__(self, type, value, traceback):
        print("Elapsed time: {:.3f} sec".format(time.time() - self._startTime))

def cycle():
    query = ''
    elem = {'sec_code' : "test", 'face_unit' : "test", 'class_code' : "test", 'code' : "test", 'scale' : 'test', 'face_value':'test',
            'lot_size': "test", 'short_name' : 'test', 'name': "test", 'min_price_step' : 'test', 'isin_code': 'test', 'class_name' : 'test', 'mat_date': 'test'}
    for i  in range(45000):

        query = query+ "insert into securyties(sec_code, face_unit, class_code,code, scale, face_value, lot_size,short_name," \
                        "name,min_price_step,isin_code,class_name,mat_date)" \
                        "values ('{}', '{}', '{}', '{}', {}, {}, {}, '{}', '{}', {}, '{}', '{}', '{}')  ON CONFLICT DO NOTHING;".format(
            elem['sec_code'],
            elem['face_unit'],
            elem['class_code'],
            elem['code'],
            elem['scale'],
            elem['face_value'],
            elem['lot_size'],
            elem['short_name'].replace("'", ""),
            elem['name'].replace("'", ""),
            elem['min_price_step'],
            elem['isin_code'],
            elem['class_name'], elem['mat_date'])

    #print (''.join(query))

if __name__ == "__main__":
    with Profiler() as p:
        cycle()

0 个答案:

没有答案