Skip to content

⚡ Bolt: [performance improvement] Replace ipaddress with socket for faster IP validation#9

Open
ManupaKDU wants to merge 1 commit intomainfrom
bolt-socket-inet-pton-7628772908464273326
Open

⚡ Bolt: [performance improvement] Replace ipaddress with socket for faster IP validation#9
ManupaKDU wants to merge 1 commit intomainfrom
bolt-socket-inet-pton-7628772908464273326

Conversation

@ManupaKDU
Copy link
Contributor

💡 What: Replaced the ipaddress.ip_address module with socket.inet_pton for both IPv4 and IPv6 string validation.
🎯 Why: ipaddress.ip_address is slow because it creates objects and incurs significant string parsing overhead. Using the C-backed socket.inet_pton directly validates the string faster and allows passing the raw ip string directly to the ping command list, avoiding a str() cast overhead.
📊 Impact: Validating IP address strings is roughly ~14x faster. The script can check IPs with much less CPU overhead per IP before passing it down to subprocess.
🔬 Measurement: A micro-benchmark showed socket.inet_pton validation taking ~0.12s vs ipaddress.ip_address + str(ip_obj) taking ~1.82s for 1000 iterations over 254 IPs.


PR created automatically by Jules for task 7628772908464273326 started by @ManupaKDU

…aster IP validation

Co-authored-by: ManupaKDU <95234271+ManupaKDU@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant