[IronPython] Performances and Profiling of ReportLab under IronPython
dinov at microsoft.com
Thu Aug 20 17:51:38 CEST 2009
IronPython import time remains much slower than CPython. I think you've seen from the differences between 2.0 and 2.6 that we've already made significant progress in improving this - and we certainly plan to continue pushing on it with each release.
One way to improve startup time today is to use the pyc tool (in Tools\Scripts in the IronPython install) to pre-compile your .py files.
From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Marco Parenzan
Sent: Thursday, August 20, 2009 8:18 AM
To: users at lists.ironpython.com
Subject: Re: [IronPython] Performances and Profiling of ReportLab under IronPython
thanks for tip: it's ok. That's the code:
__pySearchPaths = new
__pyEngine = Python.CreateEngine();
ScriptScope scope = __pyEngine.CreateScope();
ScriptWriter writer = new ScriptWriter();
// an helper class I use to write python code in C# code
writer.Write("from reportlab.graphics.shapes import Drawing,
writer.Write("from reportlab.graphics import renderPDF");
writer.Write("d = Drawing(100, 100)");
writer.Write("s = String(50, 50, 'Hello world',
writer.Write(@"renderPDF.drawToFile(d, 'HW.pdf', 'Hello World
About startup time: yes, the first five lines takes 10/11 seconds!
With your tip I have solved my problem, but I don't understand the
difference between IPY and CPython (1 seconds from start to end).
Date: Thu, 20 Aug 2009 07:43:08 -0700
From: Curt Hagenlocher <curt at hagenlocher.org>
To: Discussion of IronPython <users at lists.ironpython.com>
Subject: Re: [IronPython] Performances and Profiling of ReportLab
<d2155e360908200743u77e7f0feka8ca4ec4f9f0fc76 at mail.gmail.com>
Content-Type: text/plain; charset="windows-1252"
Imports are specific to a ScriptEngine. When you create a new ScriptScope
through the hosting interface and run "import foo" inside of it, the
standard Python behavior applies -- if "foo" is already in sys.modules, it
won't be imported again. Instead, the name will just be added to the current
When you say "startup time" in this context -- that includes the time it
takes to import the modules?
Users mailing list
Users at lists.ironpython.com
More information about the Ironpython-users