Показать сообщение отдельно
Старый 08.12.2010, 13:29
ps_spectre вне форума Посмотреть профиль Отправить личное сообщение для ps_spectre Найти все сообщения от ps_spectre
  № 25  
Ответить с цитированием
ps_spectre
 
Аватар для ps_spectre

блогер
Регистрация: Jan 2010
Адрес: Киев
Сообщений: 156
Записей в блоге: 4
Отправить сообщение для ps_spectre с помощью Skype™
тот же код, что и выше.
в кач-ве JSON декодера/енкодера используется библиотека blooddy_crypto.swc товарища BlooDHounD

Код AS3:
	import by.blooddy.crypto.serialization.JSON;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.utils.getTimer;
 
	public class JsonVSXml extends Sprite 
	{
		private var json_string:String = '{"firstName": "Иан", "lastName": "Иванов","address": {       "streetAddress": "Московское ш., 101, кв.101",       "city": "Ленинград",       "postalCode": 101101   },   "phoneNumbers": [ "812 123-1234", "916 123-4567" ]}'; 
		private var xml_string: String = '<person><firstName>Иван</firstName><lastName>Иванов</lastName>   <address>     <streetAddress>Московское ш., 101, кв.101</streetAddress>     <city>Ленинград</city>     <postalCode>101101</postalCode>   </address><phoneNumbers><phoneNumber>812 123-1234</phoneNumber><phoneNumber>916 123-4567</phoneNumber></phoneNumbers></person>';
		private var txt:TextField = new TextField();
 
		public function JsonVSXml() 
		{
			if (stage) init();
			else addEventListener(Event.ADDED_TO_STAGE, init);			
		}
 
		private function init(e:Event = null):void
		{
			if (hasEventListener(Event.ADDED_TO_STAGE))
				removeEventListener(Event.ADDED_TO_STAGE, init);
 
			addChild(txt);						
			var i:int = 0;
			var iter:int = 10000;
 
			var time:int = getTimer();
			for(i = 0 ; i < iter ; i++) calcJSON(json_string);
			txt.appendText("json: " + (getTimer() - time) + "ms\n");			 
			time = getTimer();
			for(i = 0; i < iter; i++) calcXML(xml_string);					
			txt.appendText("xml: " + (getTimer() - time) + "ms\n");			
		}
 
		private function calcJSON(s:String):*
		{
			return JSON.decode(s);
		}
 
		private function calcXML(s:String):XML
		{
			return new XML(s);
		}
	}
в release:
json: 288ms
xml: 142ms
в debug:
json: 326ms
xml: 137ms


Последний раз редактировалось ps_spectre; 08.12.2010 в 13:34.