рдЕрдирд╛рд░рдХреНрд╖рд┐рдд рдХрд╛рд░реНрдп рдХрд╛ рдкреНрд░рджрд░реНрд╢рди

PHP рдХреЗ рджреЛ рдорд╣рд╛рди рдХрд╛рд░реНрдп рд╣реИрдВ, рдХреНрд░рдордмрджреНрдз рдФрд░ рдЕрдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ред рдкрд╣рд▓рд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдП рдЧрдП рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдХрд┐рд╕реА рднреА рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛ рдЙрд▓рдЯрд╛ рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреИрд╢рд┐рдВрдЧ рдпрд╛ рднрдВрдбрд╛рд░рдг рд╕рддреНрд░ рдЖрдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╕рдордп рдпреЗ рдлрд╝рдВрдХреНрд╢рди рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИрдВред рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ рдЕрдирд╕реЗрд░рд┐рдЬрд╝рд▓ рдлрдВрдХреНрд╢рди рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИред



рдореИрдВ рдпрд╣ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдбреЗрдЯрд╛ рдХреА рдПрдХ рдмрдбрд╝реА рд╕рд░рдгреА рдХреЛ рдХреНрд░рдордмрджреНрдз рдФрд░ рдЦрд╝рд░рд╛рдм рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдЖрд╡рд╢реНрдпрдХ рдерд╛, рдпрд╣ рдмрд╣реБрдд рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рдорд┐рд▓рд╛ред

  1. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  2. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  3. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  4. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  5. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  6. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  7. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  8. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  9. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  10. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  11. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  12. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;



  13. <?php ini_set ( 'memory_limit' , '512M' ) ; $file = '/tmp/1' ; $data = range ( 1 , 2000000 ) ; echo "Test serialize \n " ; $time0 = microtime ( 1 ) ; file_put_contents ( $file , serialize ( $data ) ) ; $time1 = microtime ( 1 ) ; unserialize ( file_get_contents ( $file ) ) ; $time2 = microtime ( 1 ) ; $timeset = $time1 - $time0 ; $timeget = $time2 - $time1 ; echo "Serialize set time $timeset get time $timeget \n " ;





  рдкрд░реАрдХреНрд╖рдг рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ
 рдзрд╛рд░рд╛рд╡рд╛рд╣рд┐рдХ рд╕реЗрдЯ рд╕рдордп 1.35619807243 рд╕рдордп 31.1126699448 рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ




рдбрд┐рд╕реНрдХреНрд░рд┐рдЕрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП 30 рд╕реЗрдХрдВрдб! рдЗрд╕ рдкрд░рд┐рдгрд╛рдо рдиреЗ рдореБрдЭреЗ рдЭрдХрдЭреЛрд░ рджрд┐рдпрд╛ред рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдЬрд╛рдБрдЪ рдХреА рдХрд┐ file_get_contents рдирд┐рд╖реНрдкрд╛рджрди рдкрд░рд┐рдгрд╛рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рддрдм рдореИрдВрдиреЗ json_encode рдФрд░ json_decode (JSON рд╕реЗрдЯ рд╕рдордп 0.270335912704 рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп 1.30652809143) рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рджреЗрдЦрд╛ред "рд╕рдм рдХреБрдЫ рдирд┐рд░рд╛рд▓рд╛ рдФрд░ рдирд┐рд░рд╛рд▓рд╛ рд╣реИ," рдореИрдВрдиреЗ рд╕реЛрдЪрд╛, рдФрд░ deserialized рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рдЧреИрд░-рдлрд╝рдВрдХреНрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рд╕рдордп рдХреА рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рдЧреНрд░рд╛рдл рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред







рдЧреНрд░рд╛рдл рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рджреНрд╡рд┐рдШрд╛рдд (!) рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рд░рдгреА рдХреА рд▓рдВрдмрд╛рдИ рдкрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕рдордп рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЕрдкреНрд░рддреНрдпрд╛рд╢рд┐рдд рд░реВрдк рд╕реЗ рдзреАрдореА рдЧрддрд┐ рд╕реЗ рдирд┐рд░реНрдорд┐рдд рдЧреИрд░-рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╣реИред



рдмреЗрд╢рдХ, рд╕реНрдерд┐рддрд┐ рдЧрдВрднреАрд░ рдирд╣реАрдВ рд╣реИред рдЖрдк рд╕реАрд░рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдФрд░ рдбреАрд╕рд░реНрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдЦ рдХрд╛ рдореБрдЦреНрдп рд▓рдХреНрд╖реНрдп рдпрд╣ рджрд░реНрд╢рд╛рдирд╛ рд╣реИ рдХрд┐ рдбреЗрдЯрд╛ рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдЕрдирд╕реЛрд╢рд▓ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХреИрд╕реЗ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред



рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рд▓рд┐рдП рд╕реНрд░реЛрдд рдХреЛрдб http://alexxz.ru/habr/unserialize_benchmark.tar.gz рдкрд░ рджреЗрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ



рдкреНрд░рдпреБрдХреНрдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдФрд░ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ PHP 5.3.2

рд▓рд┐рдирдХреНрд╕ ubuntu 2.6.32-24-рдЬреЗрдиреЗрд░рд┐рдХ (10.4)

Intel┬о Core тДв 2 CPU 6600 @ 2.40GHz



______________________

рдкрд╛рда рдХреЛ Blog Editor рдореЗрдВ ┬й SoftCoder.ru рджреНрд╡рд╛рд░рд╛ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ



All Articles