PHP에서 json_encode, json_decode, 직렬화 및 역직렬화의 성능 테스트에 대한 간략한 분석

coldplay.xixi
풀어 주다: 2023-04-09 09:44:02
앞으로
3513명이 탐색했습니다.

PHP에서 json_encode, json_decode, 직렬화 및 역직렬화의 성능 테스트에 대한 간략한 분석

오늘 우연히 생각한건데, PHP를 사용하여 BDB와 유사한 작은 파일 기반의 Key-Value 데이터베이스를 작성하여 비정형 레코드형 데이터를 저장한다면 얼마나 효율적일지 궁금합니다.

그래서 가장 비용 효율적인 방법으로 PHP에서 객체를 직렬화하고 저장하는 방법에 대해 생각해 보았습니다. 그러다가 이전 동료들이 추천한 JSON 인코딩 및 디코딩 기능이 생각났습니다.
그에 따르면 json_encodejson_decode는 내장된 serializeunserialize 기능보다 더 효율적입니다. json_encodejson_decode比内置的serializeunserialize函数要高效。
于是我决定动手实验,证实一下同事所说的情况是否属实。
实验分别在PHP 5.2.13和PHP 5.3.2环境下进行。
用同一个变量,分别用以上方式进行编码或解码10000次,并得出每个函数执行10000次所需的时间。
以下是PHP 5.2.13环境其中一次测试结果:

代码如下:

json : 190 
serialize : 257 
json_encode : 0.08364200592041 
json_decode : 0.18004894256592 
serialize : 0.063642024993896 
unserialize : 0.086990833282471 
DONE.
로그인 후 복사

以下是PHP 5.3.2环境其中一次测试结果:

代码如下:

json : 190 
serialize : 257 
json_encode : 0.062805891036987 
json_decode : 0.14239192008972 
serialize : 0.048481941223145 
unserialize : 0.05927300453186 
DONE.
로그인 후 복사

这次实验得到的结论是:
json_encodejson_decode的效率并没有比serializeunserialize그래서 나는 동료의 말이 사실인지 확인하기 위해 실험을 하기로 했습니다.

실험은 각각 PHP 5.2.13과 PHP 5.3.2 환경에서 진행되었습니다.

동일한 변수를 이용하여 위의 방법으로 10,000번 인코딩 또는 디코딩을 하고, 각 기능을 10,000번 실행하는데 필요한 시간을 구합니다.

다음은 PHP 5.2.13 환경에서의 테스트 결과 중 하나입니다.

코드는 다음과 같습니다.

다음은 PHP 5.3.2 환경에서의 테스트 결과 중 하나입니다. 환경:

코드는 다음과 같습니다.🎜rrreee🎜이 실험에서 얻은 결론은 다음과 같습니다. 🎜json_encodejson_decode는 더 이상 그렇지 않습니다. serialize unserialize보다 효율적입니다. 역직렬화 중 성능 차이는 PHP 5.3의 약 2배입니다. PHP 5.3의 실행 효율성은 PHP 5.2에 비해 약간 향상되었습니다. 🎜🎜코드는 다음과 같습니다.🎜rrreee🎜🎜관련 학습 권장 사항: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜

위 내용은 PHP에서 json_encode, json_decode, 직렬화 및 역직렬화의 성능 테스트에 대한 간략한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿