Skip to content
This repository was archived by the owner on Jul 9, 2023. It is now read-only.
This repository was archived by the owner on Jul 9, 2023. It is now read-only.

Task Lists: Improve performance #87

@justcoding121

Description

@justcoding121

Now that we have a relatively stable project its time to tune performance.

  • Noted abrupt slowdown/termination of HTTPS requests on long run. (need to find out why). Improper handling of Proxy-Connection header may be the issue or is it because cache locks causing dead locks?
    update:The issue was with TcpConnectionCache which mixed up connections; removed it. Also enabled LingerState with 0 timeout to free ports immediately after connection close to avoid port exhaustion. (due to default TCP CLOSE_WAIT timeout for 4 minutes)
  • Need to replace List of HttpHeader with a Dictionary for faster lookup. This comes at the cost of creating an additional header Dictionary (headerkey, header List) for non-unique headers. (like cookies)
  • Replacing often used String.Format with a low level concatenation can be error prone if not careful, but it may provide negligible performance benefits. (So do it if we get a chance).
  • Reduce any castings that would unnecessarily involve moving objects between heap & stack
  • Reduce any data structure conversions that could be costly.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions