Coder Social home page Coder Social logo

Comments (1)

jagt avatar jagt commented on July 19, 2024

Hi mlinnell, thanks for your detailed report. Let me explain what I know about this:

clumsy does introduce overhead when it starts filtering. All packets will be captured and resend and it would definitely introduce overhead. I'm suppose it would be quite significant as we've intercept what should be done directly by the OS. When you've set the lag to 20ms, clumsy would further hold the packets a little bit longer. Let's assume the lag introduced by clumsy is like 40ms in your settings.

The first thing to notice is that in the filtering, you've included both inbound and outbound packets, this might doubled the latency. Then clumsy introduced is happening on per network packet, not per HTTP request. For example when a TCP connection is established, it needs three packets to establish the connection. Every packets sent is having a 40ms lag, then when the TCP connection get established it's already 40_3_2 = 240ms delay. Then for a web page to be DOM ready, some requests needs to be done synchronized, ie in a particular order. Say we have three requests that needs to be get in order, then the delay triples to 240*3 = 720ms.

This is quite back of the envelope calculation, the gist is that you can't treat the parameters in clumsy as an accurate measure (in other words I'm not good enough to make it accurate 😄 ). It guarantee the enabled functions would happen and the parameters are used to control it. You shouldn't take the numbers in clumsy seriously.

Hope this helps. I'll update this to the manual page later. Thanks again for your feedback.

(edited: fix the wrong calculations)

from clumsy.

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.