> > I am trying out Elixir 0.3.0 over SQLAlchemy 0.3.10 in a Python 2.5 > > environment. > > > Are there any known performance issues with Elixir for CRUD (Create > > Select Update Delete) commands? > > Not that I know of. There shouldn't be any overhead (over raw > SQLAlchemy) after the initial class initialization phase. > > -- > Gaƫtan de Mentenhttp://openhex.org
It all depends upon what your performance requirements are. I have a large project consisting of C++ for speed-critical simulations, Python for rapid prototyping, and TurboGears/Pylons for presentation of the data. I did some benchmarks a while back to see how everything stacked up as I was wondering if I was doing everything the hard way (in C++) instead of using SqlAlchemy, etc. TurboEntity is the same as Elixir for these results (I did re-run them with Elixir with the same results). The database being tested was a simple table select of a MySQL database using the MyISAM engine. Results for reading with InnoDB were very similar. I enabled the query cache, so the times reported below are the best out of 3 queries with the query cache enabled. All rows and columns were accessed, but the values discarded. Based upon these tests, I concluded that for rapid prototyping, SqlAlchemy is a great fit for where I previously used hand-crafted SQL queries along with MySQLdb. However, Elixir is still too slow for most of my prototypes, so I'm sticking with straight SqlAlchemy. For the speed-critical sections, C++ wins hands down and makes much better usage of my finite hardware resources. As always, your mileage may vary. I hope that Elixir gets some performance enhancements in the future that will bring it more in line with native SQLAlchemy. Note that you may need to paste the table into a fixed-font editor for everything to line up. ============================================================================================================= | Language | Library | Time (s) - 1k Rows | Time - 10k Rows | Time - 100k Rows | | =============================================================================================================| | Python | SqlAlchemy + ActiveMapper | 1.325 | 13.028 | 139.669 | | Python | TurboEntity | 1.295 | 12.927 | 134.829 | | Python | MySQLdb + db_row | 0.108 | 1.046 | 10.768 | | Python | MySQLdb | 0.036 | 0.384 | 4.778 | | Python | SqlAlchemy | 0.061 | 0.392 | 4.062 | | C | mysql client | 0.010 | 0.020 | 0.170 | | C++ | Direct API | 0.001 | 0.010 | 0.141 | ============================================================================================================= --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---