我需要处理一些数据,在大多数情况下,这些数据不需要写入磁盘。我使用SQLAlchemy来处理数据库操作。这些数据来自json字符串。例如,
from sqlalchemy import String, Column
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class Class1(Base):
__tablename__ = 'table'
data = Column(String)
#and some other data members
@staticmethod
def parse(json_):
#parse the json and return a list of Class1 instances
class Class2():
__init__(self, data):
self.data = data
#and some other data members
@staticmethod
def parse(json_):
#parse the json and return a list of Class2 instances基本上,这两个类是相同的,除了Class1可以处理数据库,而Class2不能。在下列情况下,两个类之间是否存在性能差异?
如果有性能差异,是否有一个好的解决方案,可以消除它,同时保持干燥?
发布于 2015-08-16 08:46:24
根据您的示例代码,没有任何可见的东西会导致显著的性能差异。
但是,如果您认为存在微观优化,那么您应该为自己测试结果,这可能有助于您的特定工作流程。
见:剖析Python How can you profile a python script?
发布于 2015-08-16 09:25:02
当然有一些不同,因为SQLAlchemy的机器通过Base-class拉了进来,增加了一些开销。但你问错问题了。可能存在性能差异,但是如果它对您的程序至关重要,那么它不依赖于这种差异本身,而是取决于您实际的程序总体做了什么,以及它是如何执行的,从而证明它违反了枯燥的原则。
如果它足够快完成它的工作--别费心了。如果它不够快,配置文件。看看你真正的瓶颈在哪里,不要预测。
https://stackoverflow.com/questions/32032133
复制相似问题