2010-09-01 6 views
5

मैं काम के लिए एक छोटे से पटकथा लिखी है और जब यह विकासशील सब कुछ ठीक था, लेकिन जब मैं यह उत्पादन उपयोग लोगों के लिए खत्म कर दिया समय यह प्रथम रूप प्रदर्शित करने के लिए ले लिया बारे में शिकायत की। इसमें देखकर, हर समय स्क्रिप्ट द्वारा उपयोग किए जाने वाले विभिन्न मॉड्यूल आयात करने में बिताया गया था। मैं सिर्फ आयात बयान और एक प्रिंट नमस्ते विश्व की एक नई स्क्रिप्ट बनाया और फिर एक अजगर स्क्रिप्ट और नीचे परिणामों के साथ एक निष्पादन योग्य के रूप में यह दोनों भाग गया। क्या हो रहा है और क्या इसे गति देने का कोई तरीका है?आयरनपीथन एक स्क्रिप्ट के रूप में एक exe के रूप में बनाया गया मॉड्यूल आयात करने के लिए इतना धीमा क्यों है?

अजगर फ़ाइल:

$ for i in {1..10} 
> do 
> time ./ipy.exe time.py 
> done 
real 0m1.712s 
real 0m1.701s 
real 0m1.689s 
real 0m1.691s 
real 0m1.709s 
real 0m1.663s 
real 0m1.697s 
real 0m1.700s 
real 0m1.699s 
real 0m1.741s 

IPY pyc.py /main:time.py/लक्ष्य के साथ बनाया गया exe: exe time.py की

$ for i in {1..10} 
> do 
> time ./time.exe | grep -v user | grep -v sys 
> done 
real 0m22.119s 
real 0m22.116s 
real 0m22.133s 
real 0m21.816s 
real 0m21.985s 
real 0m21.785s 
real 0m22.010s 
real 0m21.686s 
real 0m21.877s 
real 0m21.944s 

सामग्री:

import clr 
from clr import AddReference 
AddReference("System.Windows.Forms") 
AddReference("System.Drawing") 
AddReference("p4api") 
import cgi 
from System.Diagnostics import Process 
from P4API import * 
import System 
from System import * 
from System.Windows.Forms import * 
from System.ComponentModel import * 
from System.Drawing import * 
from System.Threading import * 
import re 
import urllib 
import os 
import tokenize 
from cStringIO import StringIO 
from optparse import OptionParser 
import os 
import urllib 
import ntpath 
import stat 
import genericpath 
import warnings 
import linecache 
import types 
import UserDict 
import _abcoll 
import abc 
import textwrap 
import string 
import urlparse 
import collections 
import keyword 
import nturl2path 
import mimetools 
import tempfile 
import random 
import __future__ 
import rfc822 
import tokenize 
import token 
import codecs 
import ConfigParser 
import uuid 
import sys 

print "Hello World" 
+1

जोड़ना/मंच: निर्माण स्क्रिप्ट को 86 4 सेकंड के लिए 22 सेकंड से निष्पादन के स्टार्टअप समय कम है, लेकिन यह अभी भी .py स्क्रिप्ट की 250% है। –

उत्तर

0

जोड़ने/मंच का एक संयोजन: pcy.py कॉल और जिसके परिणामस्वरूप dll और exe पर चल NGEN के लिए 86 1/2 करने के लिए कम exe के निष्पादन के समय इसे एक स्क्रिप्ट के रूप में आमंत्रित करने का। मैं इसे सफल कहूंगा।

संबंधित मुद्दे

 संबंधित मुद्दे