wiki:PerformanceTasks

This page just lists various tasks for experimenting with performance improvements. I also plan to share some performance results here for some of these changes.

#254 revisit RRset::setName()

#324 improve SQL data source performance

#536 make OutputBuffer more lightweight

#537 make asiolink::UDPServer smaller to copy

#538 make isc::dns::Name reside in continuous block of memory

#539 hash-based name compression

#540 explore ways to eliminate extra shared_pointers in hot path

#843 remove range check from OutputBuffer

#1188 performance consideration in getRecords()/getAllRecords()

#1393 reduce overhead in python logging

#1568 change throw to assert to gain performance

#1595,#1596 start authoritative server or resolver in multiple instances to use more than one core

  • running four b10-auth servers (on 4 core machine) was almost 2.5 times faster qps. Good work!

#1599,#1600,#1784 eliminate the overhead of ASIO wrapper

#1601 pass reference instead of shared pointer within AuthSrv

#1602,#1603 replace the name compression logic

#1604,#1605,#1607,#1608 pre-establish shortcuts for additional section processing

#1697 optimize UDPServer

#1753,#1767 use object pool for in-memory finder contexts, revisit class organization of ZoneFinder::Context

#1764 make SyncUDPServer even more simpler (and probably faster)

#1839 specialize BasicRRset::toWire() for higher performance

#2283 [meta] avoid using getName() and getRdataIterator() for in-memory

TODO: case comparison optimization

TODO: hash-based pre-lookup

Last modified 5 years ago Last modified on Dec 31, 2012, 11:06:22 PM