C++ 프로그램에서 특정 라이브러리를 사용하여 다른 웹 사이트를 연결하고 가져 왔습니다. 주로 Chillkat과 Curl을 사용했습니다. 그러나 최근에는 MSDN 및 Winsocket2 라이브러리를 사용하여 내 자신의 HTTP 가져 오기 프로그램을 프로그래밍하기 시작했습니다.C++에서 HTTP GET 메서드의 속도
SOCKET_STREAM 유형의 소켓을 열고 Ipv4의 경우 으로 소프트웨어를 프로그래밍 한 다음 필요한 웹 사이트와 연결을 설정하고 "호스트 :"및 "연결 : 닫기"헤더가 포함 된 GET 요청을 섬기는 사람. 모든 것이 잘 작동하는 것처럼 보입니다. 그러나 예상대로 성능이 떨어집니다. 번들로 묶인 Chillkat 라이브러리는 여전히 내 것이 더 좋습니다. 비록 내가 할 수있는만큼 내 것을 최적화했다.
요청을 보내면 일부 서버가 응답하는 데 시간이 오래 걸립니다. 그리고 일단 그들은 그들이 한꺼번에 모든 것을 보냅니다. 그렇다면 어떻게하면 빠른 응답을 시작하는 헤더 요청을 할 수 있습니까? 내 프로그램에 속도가 중요합니다.
필자는 Chillkat이 보내는 헤더를 검사하여 아무 것도 놓치지 않았 음을 확인했지만 속도 위반을 요청하는 헤더가 있는지 의심 스럽다. 덩어리는 정상입니다. 많은 사이트가이를 수행하므로 자신의 라이브러리에서이를 처리해야합니다. – chrisaycock
소켓 버퍼를 변경하면 성능이 향상되는지 확인하십시오. 데이터를 자주 읽지 않아도됩니다. 가끔 큰 덩어리를 기다리고 작은 덩어리를 여러 번 읽는 대신 한 번에 전달하는 것이 더 낫다 –
수천 명의 결합 된 개발자 그룹에 의해 수행 된 최적화를 능가하는 최적화 된 기능을 작성하는 단일 사용자의 기회 모든 코드 검토 및 평가 각 다른 최적화는 사실상 0으로 작습니다. 속도 문제가 자주 사용되는 라이브러리를 사용하면 속도가 빨라집니다. –