Skip to main content

Dot Net CLR Performance considerations while Architecting

Performance considerations while architecting dot net applications.
  1. Throwing Few Exceptions : 
    • Avoid exceptions with in loops.
    • Minimal use of functions like Response.Redirect() which throws a ThreadAbort exception.
    • COM usage could result in HRESULTS exception, make sure to track these.
    • Usages of ValueTypes where ever possible, rather using Reference types that is classes. Avoiding boxing and un-boxing for best use of memory.
    • Reduce interaction with unmanaged code. COM interop is much more expensive.The following steps needs to be taken while interacting with unmanaged code.
      • Data Marshalling
      • fix calling convention
      • Protect callee-saved registeres
      • Switch thread mode so that GC won't block unmanaged threads
      • Erect an Exception Handling frame on calls into managed code
      • Handle threading properly
    • Use For loop for string iteration. For loop on strings is five times faster than Foreach.
    • StringBuilder for complex string manipulation increases performance.
    • System.IO buffer size could be between 4KB and 8KB for best performance
    • Asynchronous IO when applied correctly, it gives as much as ten times the performance.

    Comments

    Popular posts from this blog

    Cybersecurity Threats in Connected and Automated Vehicles based Federated Learning Systems

      Ranwa Al Mallah , Godwin Badu-Marfo , Bilal Farooq image Courtesy: Comparitech Abstract Federated learning (FL) is a machine learning technique that aims at training an algorithm across decentralized entities holding their local data private. Wireless mobile networks allow users to communicate with other fixed or mobile users. The road traffic network represents an infrastructure-based configuration of a wireless mobile network where the Connected and Automated Vehicles (CAV) represent the communicating entities. Applying FL in a wireless mobile network setting gives rise to a new threat in the mobile environment that is very different from the traditional fixed networks. The threat is due to the intrinsic characteristics of the wireless medium and is caused by the characteristics of the vehicular networks such as high node-mobility and rapidly changing topology. Most cyber defense techniques depend on highly reliable and connected networks. This paper explores falsified informat...

    MLOps Drivenby Data Quality using ease.ml techniques

     Cedric Renggli, Luka Rimanic, Nezihe Merve Gurel, Bojan Karlas, Wentao Wu, Ce Zhang ETH Zurich Microsoft Research Paper Link ease.ml reference paper link Image courtesy 99designes Developing machine learning models can be seen as a process similar to the one established for traditional software development. A key difference between the two lies in the strong dependency between the quality of a machine learning model and the quality of the data used to train or perform evaluations. In this work, we demonstrate how different aspects of data quality propagate through various stages of machine learning development. By performing joint analysis of the impact of well-known data quality dimensions and the downstream machine learning process, we show that different components of a typical MLOps pipeline can be efficiently designed, providing both a technical and theoretical perspective. Courtesy: google The term “MLOps” is used when this DevOps process is specifically applied to ML. Diffe...

    An Efficient Algorithm for Cleaning Robots Using Vision Sensors

     Abhijeet Ravankar , Ankit A. Ravankar , Michiko Watanabe and Yohei Hoshino Paper Link image Courtesy: the Verge Public places like hospitals and industries are required to maintain standards of hygiene and cleanliness. Traditionally, the cleaning task has been performed by people. However, due to various factors like shortage of workers, unavailability of 24-h service, or health concerns related to working with toxic chemicals used for cleaning, autonomous robots have been seen as alternatives. In recent years, cleaning robots like Roomba have gained popularity. These cleaning robots have limited battery power, and therefore, efficient cleaning is important. Efforts are being undertaken to improve the efficiency of cleaning robots.  The most rudimentary type of cleaning robot is the one with bump sensors and encoders, which simply keeps cleaning the room while the battery has charge. Other approaches use dirt sensors attached to the robot to clean only the untidy portions of ...