ghedipunk / PHP-Websockets

A Websockets server written in PHP.
BSD 3-Clause "New" or "Revised" License
913 stars 375 forks source link

Passing autobahn testsuite #64

Open Xaraknid opened 8 years ago

Xaraknid commented 8 years ago

I highly recommend that you take time making this library pass autobahn testsuite.

First it'll help find some odd bugs. Second it'll help to respect standard of RFC 6455.

1-8 and 10 : is about basic protocol 9 : benchmark purpose 12 and 13 : is about compression.

Also most probably will help to speed up the library. I tested it with your library and my version.

All test are done with php7 on localhost. I added support of stream library the libevent are not there because they are not yet supported on php 7. Time are in seconds.

autobahn testsuite without 9 -12 -13
...eventloop...   total time    - server side time - calls
ghedi socket    53.894512891769 - 0.2540876865387  - 1053
xarak stream    11.52151799202  - 0.12486124038696 - 1442
xarak socket    11.546305894852 - 0.16052651405334 - 1343
xarak libev     11.529824018478 - 0.20058488845825 - 1329

here the result : https://drive.google.com/file/d/0B5H5z7SEgVa4cUNGSnlLSUJJM1k/view?pref=2&pli=1

For binary support I add ->onbinary event for apps.