Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 性能:基于类的视图与基于函数的视图_Python_Django - Fatal编程技术网

Python 性能:基于类的视图与基于函数的视图

Python 性能:基于类的视图与基于函数的视图,python,django,Python,Django,我很好奇,仅从性能的角度来看,考虑到正确的使用,它们之间有什么区别?它们在性能上根本没有区别。它们在性能上根本没有区别。我认为基于类的视图的大部分好处在于组织代码,减少重复,使其更易于重用(混合技术等)。我认为性能差异很小或根本不存在。这只是我的观点,我没有权力知道这一点。因此,在Python中,最昂贵的操作是函数调用,而不是应答。CBV执行很多函数调用。也就是说,应用层很少是系统的瓶颈。@Thomas,是的,我知道想象这种情况,但实际上我想知道是否有人对此进行了分析。CBV的功能在总体性能中的

我很好奇,仅从性能的角度来看,考虑到正确的使用,它们之间有什么区别?

它们在性能上根本没有区别。

它们在性能上根本没有区别。

我认为基于类的视图的大部分好处在于组织代码,减少重复,使其更易于重用(混合技术等)。我认为性能差异很小或根本不存在。这只是我的观点,我没有权力知道这一点。因此,在Python中,最昂贵的操作是函数调用,而不是应答。CBV执行很多函数调用。也就是说,应用层很少是系统的瓶颈。@Thomas,是的,我知道想象这种情况,但实际上我想知道是否有人对此进行了分析。CBV的功能在总体性能中的价格是多少。这可能是混合方法的理由,我的意思是,只有在必要时才使用CBV。此外,当出现问题时,无论是性能相关的还是其他的,基于类的视图都可以使用或者很难调试。认识到这是一种泛化,可能并非在所有情况下都是如此。最后,我发现基于函数的视图很好地映射到HTTP请求/响应周期…args(请求)in,return(响应)我认为基于类的视图的大部分好处在于组织代码,减少重复并使其更具可重用性(mixin技术等)。我认为性能差异很小或根本不存在。这只是我的观点,我没有权力知道这一点。因此,在Python中,最昂贵的操作是函数调用,而不是应答。CBV执行很多函数调用。也就是说,应用层很少是系统的瓶颈。@Thomas,是的,我知道想象这种情况,但实际上我想知道是否有人对此进行了分析。CBV的功能在总体性能中的价格是多少。这可能是混合方法的理由,我的意思是,只有在必要时才使用CBV。此外,当出现问题时,无论是性能相关的还是其他的,基于类的视图都可以使用或者很难调试。认识到这是一种泛化,可能并非在所有情况下都是如此。最后,我发现基于函数的视图很好地映射到HTTP请求/响应周期…args(请求)in,return(响应)out。你能详细说明一下这一点吗?函数调用很少并不具有实际意义(+实例创建)在请求处理过程中。你永远不会在循环中创建大量基于类的视图,因为它们就是-视图。持续的微小性能影响不算什么。在任何与web相关的情况下,瓶颈总是数据访问。也就是说,你应该尽量避免在视图中迭代查询集,并对每个项执行一些逻辑-让db做这件事,然后获取结果。如果你做了这样的事情,那么你真的会遇到python部分本身速度慢且占用内存的问题。你能详细说明一下这一点吗?很少有函数调用(+实例创建)并不具有实际重要性在请求处理过程中。你永远不会在循环中创建大量基于类的视图,因为它们就是-视图。持续的微小性能影响不算什么。在任何与web相关的情况下,瓶颈总是数据访问。也就是说,你应该尽量避免在视图中迭代查询集,并对每个项执行一些逻辑-让db这样做,只获取结果。如果您这样做,那么您确实会遇到python部分本身速度慢且占用内存的问题。