程序配置文件格式测试

本测试程序语言为AS3,如果用其他语言的朋友可以参考。

PS:本人技术有限,欢迎大家一起讨论。

文件格式:

1.XML

2.Json

3.AS3ClassEmbed

4.Csv

5.ByteArray

处理流程:

策划精通EXCEL  所以所有的配置文件是从EXCEL 来的。

Excel=>文件格式——通过工具来解决。无论速度如何对于用户和程序员来讲都是不关心的。

加载文件=>转换成程序中的数据类=>加入数据管理器中——这部分是所有应用及游戏都需要的过程。也是我们最关心的内容

1.加载文件的速度——取决于文件的体积

2.转换成程序中的数据类——取决于程序语言对于某些格式的API速度

3.加入管理器——不同的数据需要不同的保存策略。而我经历过的大多数项目都是手写管理器代码,我希望能够通过配置来做到自动生成。

4.数据类——这部分代码都是根据EXCEL中的表来写的,同样可以自动生成。

从上面4点可以分析出配置文件需要:

1.速度与效率——文件体积尽量小,程序语言对文件格式的转换API需要非常快。

2.流程干预——最好的方式是程序只关心在哪里拿配置数据,而不需要管转换过程,从而避免掉很多后期修改的坑。

也就是说,从文件格式到数据类到数据管理器,最好都用工具去生成代码,不要出现,策划加个字段,程序就要在数据类中添加然后........你懂的!


本次测试:

配置数据的行数为:2W行

XML的表现:

开始加载时间为: 1299 毫秒 URLLoader.load
XML数据转换完成: 耗时: 89 毫秒 XML(e.target.data)
XML数据转程序数据类完成:总耗时: 1424 毫秒
程序所占用内存: 20.2578125 MB

AS3ClassEmbed的表现:

开始加载时间为: 1343 毫秒 Loader.load()
AS3数据转换完成:耗时: 52 毫秒 new XXXClass()
AS3数据转换数据类完成:总耗时: 232 毫秒
程序所占用内存: 10.109375 MB

ByteArray的表现:

开始时间为: 1346 毫秒 URLLoader.load
Byte数据转换完成: 耗时: 51 毫秒 不需要转换
Byte数据解析完成:总耗时: 173 毫秒 调用byte.read系列方法
程序所占用内存: 7.921875 MB

注意:

我所说的AS3ClassEmbed是指用AS3将数据写进类中比如:

  calss TestConfig{

public var field:Array=['phyAtk','magicAtk','critical','phyDef'];

public var data:Array=[[1,2,3,4],[2,3,4,5].............................]

}

为什么用数组因为索引很快!且这里的是整张表key不是唯一。

如果你用的是[Bindable]标签来直接绑定某个格式的数据进去,那么恭喜你,你还不如直接加载文件,因为SWF只是压缩,且多了SWF的文件描述信息。。。

总结:

XML或JSON虽然给我们提供了很方便的‘可视化’,

但个人觉得不会比看EXCEL表来的快,而很多人认为你可以修改某些值然后来调试程序,这个在程序中去写测试来的更加快!

AS3ClassEmbed 估计很多同行在用这种方式来打包配置文件,是的我也用过很长一段时间这种方式,最近也是在整合工具才想到测试一下有无比这个更快更小的。

ByteArray——本次测试的冠军,无论是体积还是速度,都非常优越。建议大家使用。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值