Re: Fetch API, Promises Polyfill

안녕하십니까. 인스웨이브 김욱래입니다.

적당한 시간을 잡아 주시면 진행해보겠습니다.
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