JS调用Flex的性能问题一例

2019-10-11 19:58栏目:澳门平台
TAG:

 

表达:音信系列推行手记体系是系小编在平日研究开发中等射程序境遇的大小的标题,只怕朴实和微小,但每每却是日常遇上的难点。小编对内部比较特出的加以收罗,描述,归咎和享用。

正文

作者:太初

 

 

  1. 许多时候,大家付出一个种类,达成了A和B的相互调用和操作,只是到达而已。越多景况下实际应用场景必然有多少压力和天性必要,而只要上了质量,“可用”就远远不足了,还要记挂“可行”;
  2. 从繁多的法子中找到具体的,才是终极目标。那事实上供给对各样方法的明白和比对有深远的钻研。但日子少于,经验有限,人力有限,所以不得不做代价有限的尝试,并一再优化,那或者也是迭代支付或高速开采相比较提倡的吗。
  3. 属性优化本身在前头的篇幅已经粗略的聊起,只要有总体性瓶颈,只要未达到物理(理论)可总计的性质边界,就能够找到相符的章程来优化。
  4. 别的,才能选型也非常重大,对于最近大家接触的多少个GIS引擎,帮忙JSAPI的都未出现类似题材,而非JS的API接口就须求做额外的切磋,尝试和优化。那对技艺选型也是一个值得思量的事例。

属性评估&解析:

 

总结:

摘要:此文描述了作者接触过的片段音讯种类或平新竹间的过渡构型和情景,管窥之见的下结论分享之。

  1. 在JS中,通过作业层获得2万个道具的信息数量,诸如数组DEV[20000];
  2. 在JS中,将新闻数据打包为hashmap(key -> value);
  3. 在JS中,将hashmap数据结构从JS传入Flex: JS --> Flex;
  4. 在Flex中,获得传播的hashmap结构,并循环显示在GIS地图上;
  5. 在Flex中,通过hashmap结构提供用key查value的服务:val = devicehashmap.get(key);
  1. 在JS中,通过业务层获得2万个设施的新闻数据,诸如数组DEV[20000];
  2. 在JS中,将音讯数量打包为长字符串String(带约定结构/类似JSON);
  3. 在JS中,将String从JS传入Flex: JS --> Flex;
  4. 在Flex中,得到传播String,并剖判还原为hashmap,并循环显示在GIS地图上;
  5. 在Flex中,通过hashmap结构提供用key查value的劳动:val = devicehashmap.get(key);

 

 

文山会海随笔目录:音讯连串实践手记 ()

稍许API提供JS接口(版本),那是最利于的,有个别提供诸如FLEX编制程序接口的API,令你在JS中调用,也是足以,但蒙受如下情状,分享之。

  1. 在步骤3中消耗了1秒左右(其实是500ms左右),数据量是2万个device;
  2. 开端价值评估,特出的数据结构String,在大部连串中都能很好的互操作,并获得最简易的支撑和剖判(比如大都以bytes字节数组,最终三个是符号,也许有一个纤维的幽雅的头结构等等),所以传递String十分的大的猛降了时间支付。而对JS侧,拼接String比组装hashmap越来越快些;在Flex侧,本身剖析String组装本身的haspmap(不是精晓JS的hashmap结构)也相当的慢。
  3. 完整上手续1到5消耗在1秒左右,达到要求;

属性评估&深入分析:

转发表明:请指明原著者,连接,及出处。

  1. 在步骤2,3,4中消耗了20秒左右,数据量是2万个device;首假诺手续3非常慢;
  2. 千帆竞发估量,JS中结合hashmap结构必要费用自然时间,但相当的少;缺憾这种高级结构对JS/Flex两边是个担负,传入的时候供给做须求的检查和转变,所以相当的慢;
  3. 除此以外,怀念到JS/Flex互相调用结构相比较复杂,倘若传递高等结构,两边系统轻巧在条分缕析上分歧而会孳生额外的付出;

在小编推行中,越到稍微景况下(比方开采GIS地图应用),客商端的JS代码往往要调用GIS地图引擎的API。

正文

方法B(新方法):

方法A(老方法):

大家的顾客端是依据GIS地图的行使,用JS代码调用FLEX的API接口,需求经过FLEX的口舌在GIS地图上显示(放置)2万个对象(Object)。

(备注:其实在品味三种别的GIS引擎的时候,大家利用JS/API接口,就从不遇上如上的主题素材,那其实对能力选型是很主要的。)

(备注:其实还品尝过方法A的变种,正是在JS这里运维循环2万次,每回将一条设备音信传送给Flex并在GIS地图上展现Object,即便每一次数据量不大,不过来回调用JS/Flex2万次,效能更低下,所以也放任了,这里就不再探究了)

版权声明:本文由金莎国际发布于澳门平台,转载请注明出处:JS调用Flex的性能问题一例