Symfonyob娱乐下载 4.1新增功能:更快的序列化器
2018年5月18日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
提供的凯文Dunglas而且尼古拉斯Grekas在# 27049而且# 27105.
的序列化器组件将在Symfony 4.1中更快,将应用程序的ob娱乐下载性能提高40%。最重要的是,您不需要对代码进行任何更改就可以使其更快。只要在月底Symfony 4.1ob娱乐下载发布时升级到它就可以了。
如果您使用过Symfony序列化器,您可能ob娱乐下载知道它的工作原理是将PHP对象规范化/反规范化为数组,然后将该数组编码/解码为所需的格式(JSON、XML等)。
应用程序可以定义大量的规范化/反规范化,而Symfony必须调用ob娱乐下载supportsNormalization ()
每当一个新对象被规范化/反规范化时,都为它们中的每一个调用。的结果在理论上supportsNormalization ()
取决于多种因素。实际上,大多数规范化器只依赖于类型和格式,而且这些信息很容易被缓存。
这是用于提高Serializer性能的技巧。我们引进了一种新的CacheableSupportsMethodInterface
对于那些只使用类型和格式的规范化/反规范化程序支持* ()
方法:
1 2 3 4 5 6
名称空间ob娱乐下载\组件\序列化器\标准化者;接口CacheableSupportsMethodInterface{公共函数hasCacheableSupportsMethod():保龄球;}
我们已经在所有内置的规范化器中实现了这个接口,所以您不需要更改代码。如果您已经创建了自己的规范化器,请检查是否可以以相同的方式缓存它们,并在需要时实现接口。
根据我们自己的基准,可以进行这种更改简单的应用程序哪个很少使用归一化器最快可提高10%.复杂的应用程序有很多归一化函数,比如API的平台应用,可以是高达40%的速度.
发表在#生活在边缘
评论
@Teoh谢谢你校对文章。现在一切都该解决了。
jeremyFreeAgent
2018年5月21日说在13:49
好了!
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now