3v4l.org

run code in 300+ PHP versions simultaneously
<?php function similarity(w1,w2) { //return cosine similarity of w1 and w2 using formula in the //definition here: http://en.wikipedia.org/wiki/Cosine_similarity //get numerator: $numerator = 0; for($i = 0, $l = count($w1); $i < $l; $i++) $numerator += $w1[$i]*$w2[$i]; //get abs(w1) and abs(w2) $abs_w1 = 0, $abs_w2 = 0; for($i = 0, $l = count($w1); $i < $l; $i++) { $abs_w1 += $w1*$w1; $abs_w2 += $w2*$w2; } $abs_w1 = sqrt($abs_w1); $abs_w2 = sqrt($abs_w2); //make denominator: $denominator = $abs_w1*$abs_w2; return $numerator/$denominator; } similarity([1,2,3,4,5,6,7,8,9],[1,2,3,4,5,6,7,8,88])

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
5.4.320.0070.03512.52
5.4.310.0030.04212.51
5.4.300.0040.03812.51
5.4.290.0060.03712.51
5.4.280.0070.03512.40
5.4.270.0050.03612.41
5.4.260.0050.04012.40
5.4.250.0080.03712.41
5.4.240.0030.04012.41
5.4.230.0050.04012.39
5.4.220.0060.03912.39
5.4.210.0090.03912.39
5.4.200.0070.03912.39
5.4.190.0090.03112.39
5.4.180.0040.03812.39
5.4.170.0060.03712.40
5.4.160.0080.04112.40
5.4.150.0090.03812.39
5.4.140.0050.03712.09
5.4.130.0060.03512.07
5.4.120.0030.03712.03
5.4.110.0060.03412.03
5.4.100.0070.03312.02
5.4.90.0030.03912.02
5.4.80.0060.04112.02
5.4.70.0050.03412.02
5.4.60.0020.03812.02
5.4.50.0060.03512.02
5.4.40.0060.03512.01
5.4.30.0050.03712.01
5.4.20.0060.03612.00
5.4.10.0080.03412.01
5.4.00.0070.03711.50
5.3.290.0040.04112.80
5.3.280.0030.04012.71
5.3.270.0040.04112.73
5.3.260.0070.03812.72
5.3.250.0110.04412.72
5.3.240.0050.04112.72
5.3.230.0080.03712.71
5.3.220.0050.03812.68
5.3.210.0040.04312.68
5.3.200.0030.04012.68
5.3.190.0040.03912.68
5.3.180.0100.05012.67
5.3.170.0070.03512.67
5.3.160.0060.04212.68
5.3.150.0110.04512.68
5.3.140.0060.04412.66
5.3.130.0040.04012.66
5.3.120.0050.04112.66
5.3.110.0060.03912.66
5.3.100.0080.04112.13
5.3.90.0070.03712.11
5.3.80.0080.04312.09
5.3.70.0030.04312.09
5.3.60.0030.04412.08
5.3.50.0070.03412.02
5.3.40.0070.03412.02
5.3.30.0050.03411.98
5.3.20.0060.03411.76
5.3.10.0040.03511.73
5.3.00.0030.03811.71
5.2.170.0020.0399.21
5.2.160.0070.0289.22
5.2.150.0040.0339.21
5.2.140.0050.0299.21
5.2.130.0060.0309.17
5.2.120.0040.0289.18
5.2.110.0020.0319.18
5.2.100.0050.0279.18
5.2.90.0050.0289.18
5.2.80.0030.0329.18
5.2.70.0050.0319.18
5.2.60.0060.0289.12
5.2.50.0040.0309.09
5.2.40.0040.0309.07
5.2.30.0070.0269.05
5.2.20.0060.0269.04
5.2.10.0040.0288.95
5.2.00.0080.0258.81
5.1.60.0030.0258.09
5.1.50.0050.0238.08
5.1.40.0060.0228.06
5.1.30.0030.0268.42
5.1.20.0010.0298.44
5.1.10.0040.0268.16
5.1.00.0030.0338.16
5.0.50.0040.0216.64
5.0.40.0020.0206.50
5.0.30.0040.0306.31
5.0.20.0020.0236.29
5.0.10.0010.0246.26
5.0.00.0040.0306.25
4.4.90.0040.0174.78
4.4.80.0020.0184.76
4.4.70.0030.0154.75
4.4.60.0010.0174.75
4.4.50.0000.0184.77
4.4.40.0010.0274.71
4.4.30.0010.0174.75
4.4.20.0030.0154.84
4.4.10.0000.0174.85
4.4.00.0030.0244.76
4.3.110.0020.0164.67
4.3.100.0020.0154.67
4.3.90.0050.0124.64
4.3.80.0040.0224.59
4.3.70.0030.0144.63
4.3.60.0020.0154.63
4.3.50.0020.0164.63
4.3.40.0020.0254.54
4.3.30.0010.0163.30
4.3.20.0010.0173.28
4.3.10.0010.0173.24
4.3.00.0030.0277.12

preferences:
134.18 ms | 1394 KiB | 7 Q