summaryrefslogtreecommitdiff
path: root/test/profiling
Commit message (Collapse)AuthorAgeFilesLines
* - unit tests have been migrated from unittest to nose.Mike Bayer2009-06-107-1185/+0
| | | | | See README.unittests for information on how to run the tests. [ticket:970]
* - Significant performance enhancements regarding Sessions/flush()Mike Bayer2009-05-171-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in conjunction with large mapper graphs, large numbers of objects: - The Session's "weak referencing" behavior is now *full* - no strong references whatsoever are made to a mapped object or related items/collections in its __dict__. Backrefs and other cycles in objects no longer affect the Session's ability to lose all references to unmodified objects. Objects with pending changes still are maintained strongly until flush. [ticket:1398] The implementation also improves performance by moving the "resurrection" process of garbage collected items to only be relevant for mappings that map "mutable" attributes (i.e. PickleType, composite attrs). This removes overhead from the gc process and simplifies internal behavior. If a "mutable" attribute change is the sole change on an object which is then dereferenced, the mapper will not have access to other attribute state when the UPDATE is issued. This may present itself differently to some MapperExtensions. The change also affects the internal attribute API, but not the AttributeExtension interface nor any of the publically documented attribute functions. - The unit of work no longer genererates a graph of "dependency" processors for the full graph of mappers during flush(), instead creating such processors only for those mappers which represent objects with pending changes. This saves a tremendous number of method calls in the context of a large interconnected graph of mappers. - Cached a wasteful "table sort" operation that previously occured multiple times per flush, also removing significant method call count from flush(). - Other redundant behaviors have been simplified in mapper._save_obj().
* - coverage dumps out separate reports for individual packagesMike Bayer2009-03-291-0/+3
| | | | - other coverage tips
* some buildbot fixesMike Bayer2009-03-081-1/+1
|
* - The per-dialect cache used by TypeEngine to cacheMike Bayer2009-01-291-0/+11
| | | | | | | | | dialect-specific types is now a WeakKeyDictionary. This to prevent dialect objects from being referenced forever for an application that creates an arbitrarily large number of engines or dialects. There is a small performance penalty which will be resolved in 0.6. [ticket:1299]
* fixed more save/clear callsMike Bayer2009-01-172-22/+22
|
* explicit rollback to get the connection back to the poolMike Bayer2009-01-171-2/+3
|
* WeakCompositeKey was coded incorrectly and was not weakly referencing ↵Mike Bayer2009-01-171-0/+38
| | | | anything. However when repaired, the usage within RelationLoader._create_joins() still creates cycles between key elements and the value placed in the dict. In the interests of risk reduction, WCK is now removed and the two caches it was used for are now non-cached. Speed comparisons with one join/eager-heavy web application show no noticeable effect in response time.
* move memusage to the isolation chamberrel_0_5_0Mike Bayer2009-01-062-0/+353
|
* merge the test/ directory from -r5438:5439 of py3k_warnings branch. this givesMike Bayer2008-12-181-1/+1
| | | | us a 2.5-frozen copy of unittest so we're insulated from unittest changes.
* - removed creepy exec call for nowMike Bayer2008-12-061-2/+2
| | | | | - removed unnecessary isinstance() from class_mapper() - removed unnecessary and py3k incompatible "dictionary sort" from association table delete
* r5281 knocked down callcounts in 2.5..Mike Bayer2008-11-172-3/+3
|
* - Removed the 'properties' attribute of theMike Bayer2008-11-092-3/+3
| | | | | Connection object, Connection.info should be used. - Method consoliation in Connection, ExecutionContext
* removed setup_instance() from the public APIMike Bayer2008-11-081-1/+1
| | | | | | | of ClassManager, and made it a private method on _ClassInstrumentationAdapter. ClassManager's approach handles the default task with fewer function calls which chops off a few hundred calls from the pertinent profile tests.
* - zoomark adjustmentsMike Bayer2008-11-072-6/+6
| | | | - changelog has separate category for 'features'
* avoid some often unnecessary method calls. i think we might have squeezed ↵Mike Bayer2008-11-072-2/+2
| | | | all we're going to squeeze out of compiler at this point.
* - Dialects can now generate label names of adjustable length.Mike Bayer2008-11-053-9/+9
| | | | | | | | | | | | | Pass in the argument "label_length=<value>" to create_engine() to adjust how many characters max will be present in dynamically generated column labels, i.e. "somecolumn AS somelabel". Any value less than 6 will result in a label of minimal size, consiting of an underscore and a numeric counter. The compiler uses the value of dialect.max_identifier_length as a default. [ticket:1211] - removed ANON_NAME regular expression, using string patterns now - _generated_label() unicode subclass is used to indicate generated names which are subject to truncation
* - Simplified the check for ResultProxy "autoclose without results"Mike Bayer2008-11-042-2/+2
| | | | | | to be based solely on presence of cursor.description. All the regexp-based guessing about statements returning rows has been removed [ticket:1212].
* update call countMike Bayer2008-11-031-1/+1
|
* - moved _FigureVisitName into visitiors.VisitorType, added Visitor base ↵Mike Bayer2008-10-251-1/+1
| | | | | | | class to reduce dependencies - implemented _generative decorator for select/update/insert/delete constructs - other minutiae
* call drop # 2Mike Bayer2008-10-251-1/+1
|
* call dropMike Bayer2008-10-251-1/+1
|
* 2.4 callcounts of course go up for no apparent reasonMike Bayer2008-10-232-3/+3
|
* call count pinata partyMike Bayer2008-10-233-7/+7
|
* Corrected profiling expected call count down to 42 for the test_insert test.Michael Trier2008-10-201-1/+1
|
* - Improved weakref identity map memory management to no longerMike Bayer2008-10-191-2/+2
| | | | | require mutexing, resurrects garbage collected instance on a lazy basis for an InstanceState with pending changes.
* tiny tiny speed improvements....Mike Bayer2008-10-181-4/+3
|
* call count still goes to 131 for 2.4 despite the removal of ~12 lines from ↵Mike Bayer2008-10-181-1/+1
| | | | visit_select()
* - 0.5.0rc3, dohMike Bayer2008-10-181-1/+1
| | | | | | | | | | | | - The internal notion of an "OID" or "ROWID" column has been removed. It's basically not used by any dialect, and the possibility of its usage with psycopg2's cursor.lastrowid is basically gone now that INSERT..RETURNING is available. - Removed "default_order_by()" method on all FromClause objects. - profile/compile/select test is 8 function calls over on buildbot 2.4 for some reason, will adjust after checking the results of this commit
* adjust counts for 2.4 based on buildbot observation, remove 2.3 countsMike Bayer2008-08-131-3/+3
|
* - with 2.3 support dropped,Mike Bayer2008-08-132-11/+5
| | | | | | all usage of thread.get_ident() is removed, and replaced with threading.local() usage. this allows potentially faster and safer thread local access.
* zoomarks have gone up as a result of r4936, possibly others. not clear whyMike Bayer2008-07-182-5/+5
|
* And thus ends support for Python 2.3.Jason Kirtland2008-07-151-1/+1
|
* - bumped PG's call count on test #6 to 1193 for py2.4; this is due to ↵Mike Bayer2008-05-271-1/+1
| | | | non-pool-threadlocal nature adding some checkout overhead
* - zoomark/zoomark_orm seem to work with pool_threadlocal turned off, ↵Mike Bayer2008-05-192-6/+6
| | | | | | [ticket:1050] becomes WORKSFORME - fixed probably errenous unique=True checkin on unitofwork.py
* pool_threadlocal is off by default [ticket:1049]Mike Bayer2008-05-192-5/+6
|
* added ORM version of zoomark, python 2.5 only for startersMike Bayer2008-05-182-0/+322
|
* - Adjusted zoomoarkJason Kirtland2008-05-141-2/+2
| | | | - Added test/orm/defaults. Ambitiously uses ansi triggers.
* - more portable tests for eager/inheritance joinsMike Bayer2008-05-091-1/+1
| | | | | - bumped 2.4 call count for profile test_select - don't need initialize_properties() during reentrant compile() call (for now)
* r4695 merged to trunk; trunk now becomes 0.5.Mike Bayer2008-05-092-4/+4
| | | | 0.4 development continues at /sqlalchemy/branches/rel_0_4
* - microcleanupJason Kirtland2008-04-032-2/+1
|
* - Experimental: prefer cProfile over hotspot for 2.5+Jason Kirtland2008-04-033-32/+85
| | | | | - The latest skirmish in the battle against zoomark and sanity: 3rd party code is factored out in the function call count canary tests
* - Re-tuned call counts for 2.3 through 2.5.Jason Kirtland2008-04-022-4/+4
|
* dohMike Bayer2008-04-021-1/+1
|
* reduced 2.4 callcounts...Mike Bayer2008-04-022-4/+4
|
* slight function call reductionMike Bayer2008-04-021-2/+1
|
* continue attempting to get proper count for pybot on 2.5, ensure order_by ↵Mike Bayer2008-04-021-1/+1
| | | | for oracle query
* seems like the recent itertools add to select()._get_display_froms() adds ↵Mike Bayer2008-04-011-4/+4
| | | | overhead in 2.4? not sure why
* fix up some unit testsMike Bayer2008-04-011-1/+1
|
* - updated the naming scheme of the base test classes in test/testlib/testing.py;Mike Bayer2008-02-113-6/+5
| | | | | tests extend from either TestBase or ORMTest, using additional mixins for special assertion methods as needed