On Thu, May 2, 2013 at 3:34 PM, Claudio Freire klaussfre...@gmail.com wrote:
Without the C extension:
ncalls tottime percall cumtime percall filename:lineno(function)
20811734 27.8290.000 27.8550.000 attributes.py:171(__get__)
7631984 13.5320.000 31.8510.000
On Mon, May 6, 2013 at 1:10 PM, Claudio Freire klaussfre...@gmail.com wrote:
On Thu, May 2, 2013 at 3:34 PM, Claudio Freire klaussfre...@gmail.com wrote:
Without the C extension:
ncalls tottime percall cumtime percall filename:lineno(function)
20811734 27.8290.000 27.855
that's a lot of effort there. How confident are you that memory and references
are handled correctly in the .c code? That's a lot of C code, and it took
years for us to iron out all the memory leaks in the existing C extensions that
we had - the original author eventually stopped maintaining
On Mon, May 6, 2013 at 1:50 PM, Michael Bayer mike...@zzzcomputing.com wrote:
that's a lot of effort there. How confident are you that memory and
references are handled correctly in the .c code?
Quite. It's not my first C extension. But, truly, C is complex.
That's a lot of C code, and it
did you generate your code here with pyrex?If you want to jump in and
rework our C extensions to be pyrex based and everything works out just as well
or better than before, it'll be a great 0.9/1.0 feature.I've got a bit of
experience with cython already as I've worked on lxml a bit,
On Mon, May 6, 2013 at 2:31 PM, Michael Bayer mike...@zzzcomputing.com wrote:
did you generate your code here with pyrex?If you want to jump in and
rework our C extensions to be pyrex based and everything works out just as
well or better than before, it'll be a great 0.9/1.0 feature.
On Mon, May 6, 2013 at 2:31 PM, Michael Bayer mike...@zzzcomputing.com wrote:
did you generate your code here with pyrex?
Oh, sorry, I didn't answer this.
No. I wrote it by hand.
Pyrex-generated code is inscrutable, not that there's any need to
inscrute. But really, when using pyrex, the C
Here's a ticket where we can keep talking about this:
http://www.sqlalchemy.org/trac/ticket/2720
(here's the py3k ticket also: http://www.sqlalchemy.org/trac/ticket/2161)
note that SQLAlchemy 0.9 will no longer use 2to3, and will by Python 2.6-3.3
in place.The enhancement here is targeted
On Mon, May 6, 2013 at 4:27 PM, Michael Bayer mike...@zzzcomputing.com wrote:
as for the __slots__ thing, that's a separate issue.if your patch doesn't
break tests we can set that for 0.9 as well, I doubt anyone is subclassing
InstanceState, though I'd want to see what the speedup is with
On Fri, Apr 26, 2013 at 8:59 PM, Michael Bayer mike...@zzzcomputing.com
wrote:
All attributes have to be expire-able and act as proxies for a
database connection so I'm not really sure where to go with that.I'm
not too thrilled about proposals to build in various alternate
performance
On Fri, Apr 26, 2013 at 9:09 PM, Claudio Freire klaussfre...@gmail.com wrote:
On Fri, Apr 26, 2013 at 9:01 PM, Michael Bayer mike...@zzzcomputing.com
wrote:
All attributes have to be expire-able and act as proxies for a database
connection so I'm not really sure where to go with that.I'm
On Apr 30, 2013, at 6:26 PM, Claudio Freire klaussfre...@gmail.com wrote:
On Fri, Apr 26, 2013 at 9:09 PM, Claudio Freire klaussfre...@gmail.com
wrote:
On Fri, Apr 26, 2013 at 9:01 PM, Michael Bayer mike...@zzzcomputing.com
wrote:
All attributes have to be expire-able and act as proxies
On Tue, Apr 30, 2013 at 8:06 PM, Michael Bayer mike...@zzzcomputing.com wrote:
try:
from sqlalchemy.cinstrumented import InstrumentedGetter
__get__ = InstrumentedGetter(globals())
__get__.__name__ = '__get__'
del InstrumentedGetter
except ImportError:
so not to load too much into memory I should do something like:
for i in session.query(someobject).filter(idsomething)
print i
I'm guessing the answer is no, because of the nature of sql, but I'm not an
expert so I'm asking.
Thanks for the help!
--
You received this message because you
Read the source:
def all(self):
Return the results represented by this ``Query`` as a list.
This results in an execution of the underlying query.
return list(self)
it means that this method collects everything it needs and it is yielded by
the generator.
If you returns the
Query object has a __iter__ descriptor.
2013/4/26 Mauricio de Abreu Antunes mauricio.abr...@gmail.com
Read the source:
def all(self):
Return the results represented by this ``Query`` as a list.
This results in an execution of the underlying query.
return list(self)
Hi,
On 26/04/2013 16:41, alonn wrote:
so not to load too much into memory I should do something like:
for i in session.query(someobject).filter(idsomething)
print i
I'm guessing the answer is no, because of the nature of sql, but I'm
not an expert so I'm asking.
yes you can, check out
On Fri, Apr 26, 2013 at 12:06 PM, Werner werner.bru...@sfr.fr wrote:
On 26/04/2013 16:41, alonn wrote:
so not to load too much into memory I should do something like:
for i in session.query(someobject).filter(idsomething)
print i
I'm guessing the answer is no, because of the nature of
On 26/04/2013 17:07, Claudio Freire wrote:
On Fri, Apr 26, 2013 at 12:06 PM, Werner werner.bru...@sfr.fr wrote:
On 26/04/2013 16:41, alonn wrote:
so not to load too much into memory I should do something like:
for i in session.query(someobject).filter(idsomething)
print i
I'm guessing
On Fri, Apr 26, 2013 at 12:24 PM, Werner werner.bru...@sfr.fr wrote:
On 26/04/2013 17:07, Claudio Freire wrote:
On Fri, Apr 26, 2013 at 12:06 PM, Werner werner.bru...@sfr.fr wrote:
http://sqlalchemy.readthedocs.org/en/rel_0_8/orm/tutorial.html#querying
Not entirely, if you don't use
On Apr 26, 2013, at 12:24 PM, Claudio Freire klaussfre...@gmail.com wrote:
Um... a tad OT, but looking at that code, there's lots of
opportunities for optimization.
I'll have to profile a bit and let you know.
are you referring to sqlalchemy/orm/loading.py ? I'd be pretty impressed if
On Fri, Apr 26, 2013 at 1:35 PM, Michael Bayer mike...@zzzcomputing.com wrote:
Um... a tad OT, but looking at that code, there's lots of
opportunities for optimization.
I'll have to profile a bit and let you know.
are you referring to sqlalchemy/orm/loading.py ? I'd be pretty impressed if
On Apr 26, 2013, at 12:41 PM, Claudio Freire klaussfre...@gmail.com wrote:
On Fri, Apr 26, 2013 at 1:35 PM, Michael Bayer mike...@zzzcomputing.com
wrote:
Um... a tad OT, but looking at that code, there's lots of
opportunities for optimization.
I'll have to profile a bit and let you
On Fri, Apr 26, 2013 at 2:04 PM, Michael Bayer mike...@zzzcomputing.com wrote:
are you referring to sqlalchemy/orm/loading.py ? I'd be pretty impressed
if you can find significant optimizations there which don't break usage
contracts.I've spent years poring over profiles and squeezing
On Apr 26, 2013, at 6:13 PM, Claudio Freire klaussfre...@gmail.com wrote:
Ultimately, though, it's InstrumentedAttribute.__get__ the one sucking
up 30% of alchemy-bound CPU time. I guess there's little that can be
done, since it's necessary to track state changes. But there's a neat
property
On Fri, Apr 26, 2013 at 8:15 PM, Michael Bayer mike...@zzzcomputing.com wrote:
Anyway, with that (fragile) change, I get a speedup of 10% overall
runtime, and about 50% alchemy-specific runtime. Considering I knew
about attribute access' slowness and avoided it in my test, that has
to account
On Fri, Apr 26, 2013 at 8:47 PM, Claudio Freire klaussfre...@gmail.com wrote:
On Fri, Apr 26, 2013 at 8:15 PM, Michael Bayer mike...@zzzcomputing.com
wrote:
Anyway, with that (fragile) change, I get a speedup of 10% overall
runtime, and about 50% alchemy-specific runtime. Considering I knew
On Apr 26, 2013, at 7:56 PM, Claudio Freire klaussfre...@gmail.com wrote:
On Fri, Apr 26, 2013 at 8:47 PM, Claudio Freire klaussfre...@gmail.com
wrote:
On Fri, Apr 26, 2013 at 8:15 PM, Michael Bayer mike...@zzzcomputing.com
wrote:
Anyway, with that (fragile) change, I get a speedup of
On Apr 26, 2013, at 7:59 PM, Michael Bayer mike...@zzzcomputing.com wrote:
On Apr 26, 2013, at 7:56 PM, Claudio Freire klaussfre...@gmail.com wrote:
On Fri, Apr 26, 2013 at 8:47 PM, Claudio Freire klaussfre...@gmail.com
wrote:
On Fri, Apr 26, 2013 at 8:15 PM, Michael Bayer
On Fri, Apr 26, 2013 at 9:01 PM, Michael Bayer mike...@zzzcomputing.com wrote:
All attributes have to be expire-able and act as proxies for a database
connection so I'm not really sure where to go with that.I'm not too
thrilled about proposals to build in various alternate performance
30 matches
Mail list logo