summaryrefslogtreecommitdiff
path: root/test/perf
Commit message (Collapse)AuthorAgeFilesLines
* - Added a new extension suite :mod:`sqlalchemy.ext.baked`. ThisMike Bayer2015-03-111-2/+2
| | | | | | | | simple but unusual system allows for a dramatic savings in Python overhead for the construction and processing of orm :class:`.Query` objects, from query construction up through rendering of a string SQL statement. fixes #3054
* - delete the file first here so this is deterministicMike Bayer2014-09-051-0/+3
|
* - stress test for invalidationMike Bayer2014-05-101-0/+51
|
* - add a CLI to determine waht kind of test to runMike Bayer2014-01-111-19/+25
|
* - the wrapped memoized_property here was not working, as the attribute nameMike Bayer2013-11-261-4/+4
| | | | didn't match. use straight memoized_props here for now, add a perf test to check it
* tweaksMike Bayer2013-08-021-6/+3
|
* rework the test here to suit 0.8/0.9 mostly, include time testsMike Bayer2013-08-021-94/+86
|
* no need for all these scripts, not worth maintainingMike Bayer2013-04-2810-1245/+0
|
* - the raw 2to3 runMike Bayer2013-04-278-70/+70
| | | | - went through examples/ and cleaned out excess list() calls
* - remove all compat items that are pre-2.5 (hooray)Mike Bayer2013-03-091-1/+1
| | | | | | - other cleanup - don't need compat.decimal, that approach never panned out. hopefully outside libs aren't pulling it in, they shouldn't be
* The long-deprecated and non-functional ``assert_unicode`` flag onMike Bayer2012-10-251-2/+2
| | | | :func:`.create_engine` as well as :class:`.String` is removed.
* trying different approaches to test layout. in this one, the testing modulesMike Bayer2012-09-276-10/+10
| | | | | | | become an externally usable package but still remains within the main sqlalchemy parent package. in this system, we use kind of an ugly hack to get the noseplugin imported outside of the "sqlalchemy" package, while still making it available within sqlalchemy for usage by third party libraries.
* don't need this is_really_none() thing anymoreMike Bayer2012-08-081-1/+1
|
* -whitespace bonanza, contdMike Bayer2012-07-281-2/+2
|
* - [feature] *Very limited* support forMike Bayer2012-07-141-16/+16
| | | | | | | | | | | | | | inheriting mappers to be GC'ed when the class itself is deferenced. The mapper must not have its own table (i.e. single table inh only) without polymorphic attributes in place. This allows for the use case of creating a temporary subclass of a declarative mapped class, with no table or mapping directives of its own, to be garbage collected when dereferenced by a unit test. [ticket:2526]
* - [feature] The of_type() construct on attributesMike Bayer2012-06-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | now accepts aliased() class constructs as well as with_polymorphic constructs, and works with query.join(), any(), has(), and also eager loaders subqueryload(), joinedload(), contains_eager() [ticket:2438] [ticket:1106] - a rewrite of the query path system to use an object based approach for more succinct usage. the system has been designed carefully to not add an excessive method overhead. - [feature] select() features a correlate_except() method, auto correlates all selectables except those passed. Is needed here for the updated any()/has() functionality. - remove some old cruft from LoaderStrategy, init(),debug_callable() - use a namedtuple for _extended_entity_info. This method should become standard within the orm internals - some tweaks to the memory profile tests, number of runs can be customized to work around pysqlite's very annoying behavior - try to simplify PropertyOption._get_paths(), rename to _process_paths(), returns a single list now. overall works more completely as was needed for of_type() functionality
* - remove test.sql._base, test.engine._base, test.orm._base, move those ↵Mike Bayer2011-03-271-4/+4
| | | | | | | classes to a new test.lib.fixtures module - move testing.TestBase to test.lib.fixtures - massive search and replace
* - move _fixtures to work via the normal methods of _base.MappedTest, convertMike Bayer2011-03-261-2/+2
| | | | | | | all referncing tests to not use globals - tests that deal with pickle specifically load the fixture classes from test.lib.pickleable, which gets some more classes added - removed weird sa05 pickling tests that don't matter
* - remove old perf/ tests from pre-2007Mike Bayer2011-01-169-498/+0
|
* - whitespace removal bonanzaMike Bayer2011-01-024-33/+33
|
* - some good inlinings to the whole cascade_iterator() thing.Mike Bayer2010-12-181-0/+1
| | | | | cascade_iterator() should probably not yield the "instance" at all and only deal in states. 30-40K methods taken off the orm2010 test.
* - add a perf script to illustrate 0.7 speed improvementsMike Bayer2010-12-121-0/+185
|
* - support for cdecimalMike Bayer2010-12-111-1/+1
| | | | | | | | | | | | | | | | | | - add --with-cdecimal flag to tests, monkeypatches cdecimal in - fix mssql/pyodbc.py to not use private '_int' accessor in decimal conversion routines - pyodbc version 2.1.8 is needed for cdecimal in any case as previous versions also called '_int', 2.1.8 adds the same string logic as our own dialect, so that logic is skipped for modern pyodbc version - make the imports for "Decimal" consistent across the whole lib. not sure yet how we should be importing "Decimal" or what the best way forward is that would allow a clean user-invoked swap of cdecimal; for now, added docs suggesting a global monkeypatch - the two decimal libs are not compatible with each other so any chance of mixing produces serious issues. adding adapters to DBAPIs tedious and adds in-python overhead. suggestions welcome on how we should be doing Decimal/cdecimal.
* - explain that these are not part of the test suiteMike Bayer2010-12-051-0/+17
|
* - merge default tipMike Bayer2010-12-051-3/+2
|\
| * - SqlSoup overhaulMike Bayer2010-11-241-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | - Added "map_to()" method to SqlSoup, which is a "master" method which accepts explicit arguments for each aspect of the selectable and mapping, including a base class per mapping. [ticket:1975] - Mapped selectables used with the map(), with_labels(), join() methods no longer put the given argument into the internal "cache" dictionary. Particularly since the join() and select() objects are created in the method itself this was pretty much a pure memory leaking behavior.
* | - move sqlalchemy.test to test.libMike Bayer2010-11-1512-16/+16
|/
* a little bit of refinementMike Bayer2010-04-171-1/+1
|
* - beef up the --reversetop test option to embed RandomSet throughout the ORMMike Bayer2010-04-151-1/+1
| | | | | | | - with m2m we have to go back to the previous approach of having both sides of the DP fire off, tracking each pair of objects. history may not be consistently present in one side or the other - this revealed a whole lot of issues with self-referential m2m, which are fixed
* - starting to groom the branch for its inclusionMike Bayer2010-04-101-0/+84
| | | | | | | | | | | | | | - one-to-many relationships now maintain a list of positive parent-child associations within the flush, preventing previous parents marked as deleted from cascading a delete or NULL foreign key set on those child objects, despite the end-user not removing the child from the old association. [ticket:1764] - re-established Preprocess as unique on their arguments, as they were definitely duped in inheritance scenarios - added a "memo" feature to UOWTransaction which represents the usual pattern of using the .attributes collection - added the test case from [ticket:1081] into perf/
* - converted all lazy=True|False|None to 'select'|'joined'|'noload'Mike Bayer2010-03-243-5/+5
| | | | | - converted all eager to joined in examples - fixed beaker/advanced.py to reference RelationshipCache
* - To accomodate the fact that there are now two kinds of eagerMike Bayer2010-03-242-5/+5
| | | | | | | | | | | | | | | | loading available, the new names for eagerload() and eagerload_all() are joinedload() and joinedload_all(). The old names will remain as synonyms for the foreseeable future. - The "lazy" flag on the relationship() function now accepts a string argument for all kinds of loading: "select", "joined", "subquery", "noload" and "dynamic", where the default is now "select". The old values of True/ False/None still retain their usual meanings and will remain as synonyms for the foreseeable future. - Added documentation to tutorial,mapper doc, api docs for subqueryload, subqueryload_all, and other options.
* - The official name for the relation() function is nowMike Bayer2010-03-177-16/+16
| | | | | | relationship(), to eliminate confusion over the relational algebra term. relation() however will remain available in equal capacity for the foreseeable future. [ticket:1740]
* timings should use getitem syntax and not the slow getattr oneGaëtan de Menten2010-03-031-4/+4
|
* - Added an optional C extension to speed up the sql layer byGaëtan de Menten2010-02-132-0/+400
| | | | | | | | | | | | | | | reimplementing the highest impact functions. The actual speedups will depend heavily on your DBAPI and the mix of datatypes used in your tables, and can vary from a 50% improvement to more than 200%. It also provides a modest (~20%) indirect improvement to ORM speed for large queries. Note that it is *not* built/installed by default. See README for installation instructions. - The most common result processors conversion function were moved to the new "processors" module. Dialect authors are encouraged to use those functions whenever they correspond to their needs instead of implementing custom ones.
* - reduced a bit of overhead in attribute expiration, particularlyMike Bayer2010-02-131-1/+36
| | | | | | | | the version called by column loaders on an incomplete row (i.e. joined table inheritance). there are more dramatic changes that can be made here but this one is conservative so far as far as how much we're altering how InstanceState tracks "expired" attributes.
* misc cleanups in tests (courtesy of Michael Bayer's revisiting of myGaëtan de Menten2010-02-132-3/+3
| | | | patch)
* - For those who might use debug logging onMike Bayer2010-02-131-2/+2
| | | | | | | | | | sqlalchemy.orm.strategies, most logging calls during row loading have been removed. These were never very helpful and cluttered up the code. - Some internal streamlining of object loading grants a small speedup for large results, estimates are around 10-15%.
* merge 0.6 series to trunk.Mike Bayer2009-08-0612-53/+45
|
* - removed test.testing.ORMTest, test.fixtures, and allMike Bayer2009-06-021-4/+5
| | | | dependencies on those.
* Global propigate -> propagate change to correct spelling. Additionally found ↵Michael Trier2008-11-091-1/+1
| | | | a couple of insures that should be ensure.
* - In addition to expired attributes, deferred attributesMike Bayer2008-06-211-1/+2
| | | | | also load if their data is present in the result set [ticket:870]
* Columns now have default= and server_default=. PassiveDefault fades away.Jason Kirtland2008-05-141-1/+1
|
* r4695 merged to trunk; trunk now becomes 0.5.Mike Bayer2008-05-091-0/+1
| | | | 0.4 development continues at /sqlalchemy/branches/rel_0_4
* - updated the naming scheme of the base test classes in test/testlib/testing.py;Mike Bayer2008-02-113-3/+3
| | | | | tests extend from either TestBase or ORMTest, using additional mixins for special assertion methods as needed
* test for session close efficiencyMike Bayer2008-02-081-0/+96
|
* - testbase is gone, replaced by testenvJason Kirtland2008-01-1214-115/+109
| | | | | | - Importing testenv has no side effects- explicit functions provide similar behavior to the old immediate behavior of testbase - testing.db has the configured db - Fixed up the perf/* scripts
* Added a profiled benchmark for orm attribute modification & flushJason Kirtland2007-11-031-0/+93
|
* change the in_ API to accept a sequence or a selectable [ticket:750]Ants Aasma2007-10-161-2/+2
|
* - Expanded insert speed test to cover execute as well as executemanyJason Kirtland2007-10-081-22/+72
|