python - 为什么 tcpdump 比 python 实现快这么多?
问题描述
首先,英语不是我的母语,我希望我能把我的问题写下来,让大家理解。
我目前正在使用 CAN 协议,我有很多消息需要处理(~ 500 kB/s)。但无论我使用什么库,我的代码都会占用大量 CPU。而 tcpdump 只需要 1%..
我尝试使用 python-can 库,也使用本机套接字实现,现在使用 pcap python 库。每个库都是一样的,它需要大量的 CPU 使用率。
我当前的实现需要 ~13%,tcpdump 需要 1% 写入文件。
有人知道,tcpdump 怎么能如此高效?有没有人有类似的问题?
感谢您的阅读。
解决方案
推荐阅读
- haskell - Haskell - 如何使用Foldr检查元素是否在列表中?
- reactjs - window.location 是在 React 中重定向到外部网络的正确方法吗?
- ios - 在 iPadOS 上使用侧拉/分屏时如何使用 ARKit?
- javascript - 如何自定义嵌入式 Vimeo 视频播放器?
- thunderbird - Thunderbird 导入邮件文件夹
- python - 检查元素是否存在
- ruby-on-rails - 在 minitest 之前 rails 会加载什么?(使用 rails 6 进行非常慢的测试)
- javascript - 如何在 CKEditor 中限制每行字符?
- python - 对文本文件中的字典列表进行排序
- r - if (any(co)) { : valor ausente donde TRUE/FALSE es necesario 中的错误