![]() |
|
||||||||||
|
|||||
|
Цитата:
3 сабстринга и 4 конкатенации против одного реплейса и одной конкатенации. Добавлено через 10 минут package { import flash.display.Sprite; public class Test extends Sprite { public function Test():void { var i:int = 0; var t:Number; var len:int = 1000000; t = new Date().getTime(); for(i = 0; i<len; i++) parse1(i); trace("parse1", new Date().getTime() - t); t = new Date().getTime(); for(i = 0; i<len; i++) parse2(i); trace("parse2", new Date().getTime() - t); } private function parse1(num:int):String { var st:String = "000000" + num; return st.replace(/(\d*)(\d{2})(\d{3})(\d{2})/, "$2.$3.$4"); } private function parse2(num:int):String { var st:String = "000000" + num; return st.substr(-7, 2) + "." + st.substr(-5, 3) + "." + st.substr(-2, 2); } } } parse2 2788 Абсолютно чистая победа за №4. :о))
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
![]()
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Регэкспы по умолчанию тормознее, не знаю, зачем тесты ещё проводить.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Страшная тайна: RegExp написан на AS3.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Да, поэтому предпочтение отдаётся ломовым методам, чаще всего.
|
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
Цитата:
Пруф в студию.
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Modus ponens
|
private static const _pattern:ByteArray = new ByteArray(); private static const _separator:int = 0x2E; private static const _asciiZero:int = 0x30; private static function format(digit:uint):String { var reminder:uint; _pattern.clear(); _pattern.length = 13; _pattern[0] = 12; while (_pattern[0]) { reminder = digit; digit /= 10; reminder -= digit * 10; if (((_pattern[0] + 1) & 2) == 2) _pattern[_pattern[0]--] = _separator; _pattern[_pattern[0]--] = _asciiZero + reminder; } _pattern[0] = _asciiZero + digit; return _pattern.toString(); } ![]()
__________________
Hell is the possibility of sanity Последний раз редактировалось wvxvw; 13.01.2012 в 14:10. |
![]() |
![]() |
Часовой пояс GMT +4, время: 09:29. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| regexp |
|
|