Nmap Development mailing list archives
Tudor's Status Report - #13 of 17
From: Tudor-Emil COMAN <tudor_emil.coman () cti pub ro>
Date: Tue, 26 Jul 2016 05:58:26 +0000
Hi, This week I continued using callgrind to identify bottlenecks and try to solve them. Accomplishments: - We now use a binary search to find the right probe for a received packet. To do this I made the incompleteHosts a set instead of a list. This set is ordered by the IP address of it's probes. - Limited unnecessary calls to alloc_vsprintf in output.cc. - Made build_tcp() create the packet in the same buffer every time to limit calls to malloc. - Removed some unnecessary calls to target_needs_new_hostgroup() in nmap.cc. This one was really a performance killer and I made so that for hostgroups smaller than PING_GROUP_SZ (currently 4096) it doesn't get called at all. Performance gains are visible for really high packet rates. For something like: ./nmap 54.239.156.68/16 -sS -Pn -p 80 -T5 -n --open --min-rate 130000 --min-hostgroup 16384 Without these optimizations the scan took about 9.6 seconds, with these optimizations it takes about 8.5 seconds. Priorities: - Find other profiling tools, callgrind adds x20 more overhead. - See if I can improve some NSE scripts.
_______________________________________________ Sent through the dev mailing list https://nmap.org/mailman/listinfo/dev Archived at http://seclists.org/nmap-dev/
Current thread:
- Tudor's Status Report - #13 of 17 Tudor-Emil COMAN (Jul 25)
- Re: Tudor's Status Report - #13 of 17 Daniel Miller (Jul 26)
- Re: Tudor's Status Report - #13 of 17 Tudor-Emil COMAN (Jul 31)
- Re: Tudor's Status Report - #13 of 17 Daniel Miller (Jul 31)
- Re: Tudor's Status Report - #13 of 17 Tudor-Emil COMAN (Jul 31)
- Re: Tudor's Status Report - #13 of 17 Daniel Miller (Jul 26)
