- From: 김욱래 <wlkim@inswave.com>
- Date: Mon, 4 May 2015 14:04:22 +0900
- To: 이원석 <wonsuk.lee@etri.re.kr>
- Cc: Sangwhan Moon <sangwhan@iki.fi>, HTML KIG <public-html-ig-ko@w3.org>, "public-html5kr@w3.org" <public-html5kr@w3.org>
- Message-ID: <CAJ9e8JFRP=Hks81=3Kx+iy_Jhxs5+yWZ+GB3BT--NLYSSnur_g@mail.gmail.com>
안녕하십니까. 인스웨이브 김욱래입니다.
적당한 시간을 잡아 주시면 진행해보겠습니다.
Promise 테스트만으로는 내용이 너무 없어서
뭔가를 더 추가해야할 것 같습니다.
감사합니다.
김욱래
-------------------------------------------------
김욱래 이사 / 연구개발본부, (주)인스웨이브 시스템즈
-------------------------------------------------
Tel : 02-2082-1431 Mobile : 010-3791-6175
Fax : 02-2082-1410 Email : wlkim@inswave.com
Addr : 152-790
서울특별시 구로구 구로 3동 182-13 대륭포스트타워 2차 414호
홈페이지 : http://www.inswave.com
웹스퀘어 : http://www.websquare.co.kr
기술지원 : https://www.inswave.com/support
-------------------------------------------------
2015년 5월 3일 오후 11:54, 이원석 <wonsuk.lee@etri.re.kr>님이 작성:
> 김욱래 이사님,
>
> 좋은 자료 공유해 주셔서 감사합니다. 언제 KIG회의에서 한번 어떻게 시험을 하셨는지 간단히 소개를 해주셔도 좋을 것 같습니다^^
>
>
>
> 이원석 드림.
>
>
>
> *From:* 김욱래 [mailto:wlkim@inswave.com]
> *Sent:* Thursday, April 30, 2015 1:17 PM
> *To:* Sangwhan Moon
> *Cc:* HTML KIG
> *Subject:* Re: Fetch API, Promises Polyfill
>
>
>
> 안녕하세요.
>
>
>
> 좋은 내용을 소개해 주셔서 감사합니다.
>
>
>
> 얼마전에 Promise를 적용하려고 조사했던 polyfills 관련 정보 몇가지를 공유해드립니다.
>
>
>
> 1. 성능
>
>
>
> 아래는 성능 관련된 benchmark 링크입니다.
>
>
>
> https://github.com/petkaantonov/bluebird/tree/master/benchmark
>
>
>
> results for 10000 parallel executions, 1 ms per I/O op
>
>
>
> file time(ms) memory(MB)
>
> callbacks-baseline.js 232 35.86
>
> promises-bluebird-generator.js 235 38.04
>
> promises-bluebird.js 335 52.08
>
> promises-cujojs-when.js 405 75.77
>
> promises-tildeio-rsvp.js 468 87.56
>
> promises-dfilatov-vow.js 578 125.98
>
> callbacks-caolan-async-waterfall.js 634 88.64
>
> promises-lvivski-davy.js 653 109.64
>
> promises-calvinmetcalf-lie.js 732 165.41
>
> promises-obvious-kew.js 1346 261.69
>
> promises-ecmascript6-native.js 1348 189.29
>
> generators-tj-co.js 1419 164.03
>
> promises-then-promise.js 1571 294.45
>
> promises-medikoo-deferred.js 2091 262.18
>
> observables-Reactive-Extensions-RxJS.js 3201 356.76
>
> observables-caolan-highland.js 7429 616.78
>
> promises-kriskowal-q.js 9952 694.23
>
> observables-baconjs-bacon.js.js 25805 885.55
>
>
>
> Platform info:
>
> Windows_NT 6.1.7601 x64
>
> Node.JS 1.1.0
>
> V8 4.1.0.14
>
> Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz × 4
>
>
>
>
>
> 브라우저 별 성능 테스트 자료는 찾지 못해서 HTML5ROCKS 샘플(
> http://www.html5rocks.com/ko/tutorials/es6/promises/ )을
>
> 이용해서 직접 수행했습니다. 대상 라이브러리는 rsvp, bluebird를 이용했고, XHR 구현도 같이 테스트 했습니다. 값이 작을
> 수록 더 나은 성능입니다.
>
> 참고로 아래 메일에 있는 Promises Polyfill은 rsvp의 subset입니다.
>
>
>
> RSVP Bluebird XHR
>
> IE6 427 776 422
>
> IE8 304 367 553
>
> IE9 347 291 494
>
> Chrome 109 115 286
>
>
>
>
>
> 2. 브라우저 하위호환성
>
>
>
> Internet Explorer는 최신 버전인 11에서도 promise를 지원하지 않아 polyfill을 사용해야 합니다.
>
> 하지만, 대표적인 polyfill인 rsvp, bluebird의 경우 Internet explorer 9부터 지원되는
>
> Array.reduce, Array.map, Array.forEach를 사용하고 있어서 IE6~8과 같은 구형 버전 Internet
> Explorer를 지원해야 하면
>
> es5-shims ( https://github.com/es-shims/es5-shim/blob/master/es5-shim.js )
> 를 포함시켜야 합니다.
>
>
>
> 또한 구형 버전에서는 Promise 메소드 중 catch가 ECMAScript 예약어 catch와 충돌이 발생됩니다.
>
> .catch()대신 ["catch"]()를 사용하면 회피할 수 있습니다.
>
>
>
>
>
> 감사합니다.
>
> 김욱래
>
> -------------------------------------------------
>
> 김욱래 이사 / 연구개발본부, (주)인스웨이브 시스템즈
> -------------------------------------------------
> Tel : 02-2082-1431 Mobile : 010-3791-6175
> Fax : 02-2082-1410 Email : wlkim@inswave.com
> Addr : 152-790
> 서울특별시 구로구 구로 3동 182-13 대륭포스트타워 2차 414호
> 홈페이지 : http://www.inswave.com
> 웹스퀘어 : http://www.websquare.co.kr
> 기술지원 : https://www.inswave.com/support
> -------------------------------------------------
>
>
>
> 2015년 4월 29일 오후 5:08, Sangwhan Moon <sangwhan@iki.fi>님이 작성:
>
> 추가 내용입니다.
>
> Fetch: https://github.com/github/fetch
> Promises: https://github.com/jakearchibald/es6-promise
>
> (개인적으로 사용을 해본적이 없어, 라이브러리 자체에 대한 질문은 깃헙 프로젝트 오너한테 하시는게 빠를겁니다. ^^)
>
> 감사합니다.
>
>
>
Received on Monday, 4 May 2015 05:05:07 UTC