GithubHelp home page GithubHelp logo

Performance results about wire HOT 1 CLOSED

asynkron avatar asynkron commented on June 2, 2024 1
Performance results

from wire.

Comments (1)

rogeralsing avatar rogeralsing commented on June 2, 2024

Now with lazy init of sessions, Wire is mostly on par with NetSerializer for smaller/primitive messages.
Sometimes slower, sometimes faster.

Serializer.Initialize() in 26 ms
== 1 TypicalMessage x 1000000 ==
NetSerializer | MemStream Serialize   |        336 |    0   0   0 |         39 |
NetSerializer | MemStream Deserialize |        404 |   22   0   0 |            |
NetSerializer | NetTest               |        548 |   22   0   0 |            |
Wire          | MemStream Serialize   |        257 |   32   0   0 |         38 |
Wire          | MemStream Deserialize |        262 |   57   0   0 |            |
Wire          | NetTest               |        382 |   90   0   0 |            |
== 1000 Object x 1000 ==
NetSerializer | MemStream Serialize   |         34 |    0   0   0 |       1000 |
NetSerializer | MemStream Deserialize |         22 |    5   0   0 |            |
NetSerializer | NetTest               |         47 |    5   0   0 |            |
Wire          | MemStream Serialize   |         70 |   22   0   0 |       1000 |
Wire          | MemStream Deserialize |         50 |   30   0   0 |            |
Wire          | NetTest               |         88 |   53   0   0 |            |
== 100 LargeStruct x 30000 ==
NetSerializer | MemStream Serialize   |        543 |   34   0   0 |       1859 |
NetSerializer | MemStream Deserialize |        410 |   34   0   0 |            |
NetSerializer | NetTest               |        743 |   68   0   0 |            |
Wire          | MemStream Serialize   |        542 |  102   0   0 |       3500 |
Wire          | MemStream Deserialize |        455 |  108   0   0 |            |
Wire          | NetTest               |       1103 |  212   0   0 |            |
== 100 LargeStruct x 30000 (direct) ==
NetSerializer | MemStream Serialize   |        412 |    0   0   0 |       1759 |
NetSerializer | MemStream Deserialize |        373 |    0   0   0 |            |
NetSerializer | NetTest               |        609 |    0   0   0 |            |
== 100 Guid x 50000 ==
NetSerializer | MemStream Serialize   |        712 |   38   0   0 |       1970 |
NetSerializer | MemStream Deserialize |        439 |   38   0   0 |            |
NetSerializer | NetTest               |        815 |   76   0   0 |            |
Wire          | MemStream Serialize   |        449 |  200   0   0 |       1700 |
Wire          | MemStream Deserialize |        322 |  209   0   0 |            |
Wire          | NetTest               |        741 |  411   0   0 |            |
== 100 Guid x 50000 (direct) ==
NetSerializer | MemStream Serialize   |        619 |    0   0   0 |       1872 |
NetSerializer | MemStream Deserialize |        489 |    0   0   0 |            |
NetSerializer | NetTest               |        801 |    0   0   0 |            |
== 100 Int32 x 100000 ==
NetSerializer | MemStream Serialize   |        689 |   57   0   0 |        461 |
NetSerializer | MemStream Deserialize |        385 |   57   0   0 |            |
NetSerializer | NetTest               |        730 |  114   0   0 |            |
Wire          | MemStream Serialize   |        869 |  286   0   0 |        500 |
Wire          | MemStream Deserialize |        540 |  305   0   0 |            |
Wire          | NetTest               |       1112 |  593   0   0 |            |
== 100 Int32 x 100000 (direct) ==
NetSerializer | MemStream Serialize   |        519 |    0   0   0 |        361 |
NetSerializer | MemStream Deserialize |        497 |    0   0   0 |            |
NetSerializer | NetTest               |        639 |    0   0   0 |            |
== 100 U8Message x 100000 ==
NetSerializer | MemStream Serialize   |        463 |    0   0   0 |        200 |
NetSerializer | MemStream Deserialize |        971 |   57   0   0 |            |
NetSerializer | NetTest               |       1235 |   57   0   0 |            |
Wire          | MemStream Serialize   |        754 |  228   0   0 |        400 |
Wire          | MemStream Deserialize |        809 |  305   0   0 |            |
Wire          | NetTest               |       1112 |  536   0   0 |            |
== 100 U8Message x 100000 (direct) ==
NetSerializer | MemStream Serialize   |        349 |    0   0   0 |        100 |
NetSerializer | MemStream Deserialize |       1123 |   57   0   0 |            |
NetSerializer | NetTest               |       1189 |   57   0   0 |            |
== 100 S16Message x 100000 ==
NetSerializer | MemStream Serialize   |        573 |    0   0   0 |        341 |
NetSerializer | MemStream Deserialize |       1134 |   57   0   0 |            |
NetSerializer | NetTest               |       1292 |   57   0   0 |            |
Wire          | MemStream Serialize   |        879 |  228   0   0 |        500 |
Wire          | MemStream Deserialize |        857 |  305   0   0 |            |
Wire          | NetTest               |       1217 |  536   0   0 |            |
== 100 S32Message x 100000 ==
NetSerializer | MemStream Serialize   |        639 |    0   0   0 |        461 |
NetSerializer | MemStream Deserialize |       1216 |   57   0   0 |            |
NetSerializer | NetTest               |       1384 |   57   0   0 |            |
Wire          | MemStream Serialize   |        881 |  228   0   0 |        700 |
Wire          | MemStream Deserialize |        867 |  305   0   0 |            |
Wire          | NetTest               |       1231 |  536   0   0 |            |
== 100 S64Message x 100000 ==
NetSerializer | MemStream Serialize   |        729 |    0   0   0 |        542 |
NetSerializer | MemStream Deserialize |       1257 |   57   0   0 |            |
NetSerializer | NetTest               |       1463 |   57   0   0 |            |
Wire          | MemStream Serialize   |        980 |  228   0   0 |       1100 |
Wire          | MemStream Deserialize |        956 |  305   0   0 |            |
Wire          | NetTest               |       1354 |  536   0   0 |            |
== 100 DecimalMessage x 50000 ==
NetSerializer | MemStream Serialize   |        637 |   47   0   0 |       1360 |
NetSerializer | MemStream Deserialize |        922 |   38   0   0 |            |
NetSerializer | NetTest               |       1199 |   86   0   0 |            |
Wire          | MemStream Serialize   |        770 |  200   0   0 |       1900 |
Wire          | MemStream Deserialize |        831 |  247   0   0 |            |
Wire          | NetTest               |       1166 |  450   0   0 |            |
== 100 NullableDecimalMessage x 100000 ==
NetSerializer | MemStream Serialize   |        591 |    2   0   0 |        238 |
NetSerializer | MemStream Deserialize |       1144 |   95   0   0 |            |
NetSerializer | NetTest               |       1250 |   98   0   0 |            |
Wire          | MemStream Serialize   |       1317 |  234   0   0 |        448 |
Wire          | MemStream Deserialize |       1249 |  348   0   0 |            |
Wire          | NetTest               |       1486 |  585   0   0 |            |
== 100 PrimitivesMessage x 10000 ==
NetSerializer | MemStream Serialize   |        653 |    9   0   0 |       5286 |
NetSerializer | MemStream Deserialize |        667 |   28   0   0 |            |
NetSerializer | NetTest               |        871 |   38   0   0 |            |
Wire          | MemStream Serialize   |        411 |   51   0   0 |       8300 |
Wire          | MemStream Deserialize |        534 |   78   0   0 |            |
Wire          | NetTest               |        771 |  130   0   0 |            |
== 10 DictionaryMessage x 1000 ==
NetSerializer | MemStream Serialize   |       1240 |   28   0   0 |      86187 |
NetSerializer | MemStream Deserialize |       1795 |  109  54   0 |            |
NetSerializer | NetTest               |       2134 |  133  66   0 |            |
Wire          | MemStream Serialize   |       2702 |  186   0   0 |     156403 |
Wire          | MemStream Deserialize |       2508 |  188  94   0 |            |
Wire          | NetTest               |       3900 |  321 160   0 |            |
== 100 ComplexMessage x 10000 ==
NetSerializer | MemStream Serialize   |        423 |    0   0   0 |       2838 |
NetSerializer | MemStream Deserialize |        613 |   37   0   0 |            |
NetSerializer | NetTest               |        731 |   37   0   0 |            |
Wire          | MemStream Serialize   |        460 |   22   0   0 |       4848 |
Wire          | MemStream Deserialize |        402 |   62   0   0 |            |
Wire          | NetTest               |        635 |   85   0   0 |            |
== 100 StringMessage x 20000 ==
NetSerializer | MemStream Serialize   |        452 |    0   0   0 |       4886 |
NetSerializer | MemStream Deserialize |        586 |   68   0   0 |            |
NetSerializer | NetTest               |        738 |   68   0   0 |            |
Wire          | MemStream Serialize   |        459 |   79   0   0 |       4991 |
Wire          | MemStream Deserialize |        441 |  151   0   0 |            |
Wire          | NetTest               |        790 |  232   0   0 |            |
== 100 StructMessage x 20000 ==
NetSerializer | MemStream Serialize   |        503 |    0   0   0 |       2455 |
NetSerializer | MemStream Deserialize |        631 |   44   0   0 |            |
NetSerializer | NetTest               |        814 |   44   0   0 |            |
Wire          | MemStream Serialize   |        886 |  155   0   0 |       7949 |
Wire          | MemStream Deserialize |       1423 |  233   0   0 |            |
Wire          | NetTest               |       1865 |  390   0   0 |            |
== 100 BoxedPrimitivesMessage x 20000 ==
NetSerializer | MemStream Serialize   |        800 |    0   0   0 |       1723 |
NetSerializer | MemStream Deserialize |        521 |   83   0   0 |            |
NetSerializer | NetTest               |        878 |   83   0   0 |            |
Wire          | MemStream Serialize   |       1116 |   91   0   0 |       4700 |
Wire          | MemStream Deserialize |        920 |  190   0   0 |            |
Wire          | NetTest               |       1542 |  283   0   0 |            |

from wire.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.