wip charts
This commit is contained in:
@ -801,7 +801,9 @@ ASP.NET Core is the final winner of 1st scenario. EF Core is incredibly efficien
|
||||
|
||||
{{< chart type="timeseries" title="CPU runtime load" datasets="User|0.03,0.6,0.6,0.61,0.64,0.47,0.02|#4bc0c0$System|0.01,0.3,0.29,0.3,0.29,0.29,0.02|#ff6384" stacked="true" max="1" step="15" />}}
|
||||
|
||||
{{< chart type="timeseries" title="CPU database load" datasets="User|0.2,0.55,0.54,0.53,0.53,0.15,0.03|#4bc0c0$System|0.14,0.34,0.34,0.34,0.34,0.09,0.02|#ff6384" stacked="true" max="1" step="15" />}}
|
||||
{{< chart type="timeseries" title="CPU database load" stacked="true" max="1" step="15" >}}
|
||||
User|0.2,0.55,0.54,0.53,0.53,0.15,0.03|#4bc0c0$System|0.14,0.34,0.34,0.34,0.34,0.09,0.02|#ff6384
|
||||
{{< /chart >}}
|
||||
|
||||
{{< /tab >}}
|
||||
{{< /tabs >}}
|
||||
@ -812,8 +814,86 @@ It's very close to Java variant, just a bit behind. But as workers are fully loa
|
||||
|
||||
Here are the final req/s results for each framework. Note that I do my best for PHP by choosing MySQL which shows the best results overall.
|
||||
|
||||
{{< chart type="timeseries" title="Scenario 1" datasets="Laravel|6,69,81,103,103,113,83,91,103,112,99,101,109,101,106,108,100,112,117,124,113,111,117,108,129,119,124,81,113,128,124,108,108,128,111,128,123,127,100,124,124,118,119,125,121,101,96,120,110,130,137,117,127,120,124,129,127,115,121,114,126,121,103,124,120,120,116,102,122,103,109,81|#c2410c$Symfony|13,37,37,38,41,40,39,38,37,42,35,39,37,40,40,38,38,38,38,41,37,42,39,33,45,41,42,32,39,44,38,33,41,44,32,43,41,43,32,39,45,40,36,36,40,39,37,44,40,35,42,43,29,41,40,44,38,35,42,41,40,38,39,40,40,40,43,41,43,43,38,40,39,48,43,42,39,41,40,45,38,44,37,10|#ffffff$FastAPI|2,385,495,476,462,502,534,518,496,480,513,520,520,509,473,539,491,483,516,463,526,522,520,512,503,545,478,541,468,521,519,489,530,469,479,513,515,495,513,491,508,523,548,483,500,526,505,527,519,496,506,541,504,507,478,508,535,521,488,480,543,379|#0f766e$NestJS|111,508,571,566,569,558,544,672,589,628,607,610,555,527,586,596,568,598,581,601,630,595,625,615,623,601,620,685,621,569,579,600,672,643,577,663,695,715,581,576,584,605,605,659,638,594,627,583,603,622,642,606,589,618,584,635,642,592,548,568,653,617,237|#b91c1c$Spring Boot|20,334,444,468,449,425,462,467,499,472,446,479,477,490,490,459,454,490,449,460,453,456,490,486,467,461,496,494,504,503,460,478,502,487,471,460,473,491,476,470,455,464,478,457,491,447,489,476,485,475,458,454,493,490,463,471,460,485,504,480,447,453,481,208|#15803d$ASP.NET Core|18,742,920,880,882,977,984,976,947,927,962,967,979,955,911,954,965,1005,957,918,904,986,973,974,892,969,973,988,917,900,973,975,972,953,928,963,997,975,971,884,954,977,950,965,923,942,976,968,972,885,959,960,974,948,890,952,973,986,953,914,973,947,102|#6d28d9" />}}
|
||||
{{< chart type="timeseries" title="Scenario 2" >}}
|
||||
[
|
||||
{
|
||||
label: 'Laravel',
|
||||
data: [6,69,81,103,103,113,83,91,103,112,99,101,109,101,106,108,100,112,117,124,113,111,117,108,129,119,124,81,113,128,124,108,108,128,111,128,123,127,100,124,124,118,119,125,121,101,96,120,110,130,137,117,127,120,124,129,127,115,121,114,126,121,103,124,120,120,116,102,122,103,109,81],
|
||||
borderColor: '#c2410c',
|
||||
backgroundColor: '#c2410c'
|
||||
},
|
||||
{
|
||||
label: 'Symfony',
|
||||
data: [13,37,37,38,41,40,39,38,37,42,35,39,37,40,40,38,38,38,38,41,37,42,39,33,45,41,42,32,39,44,38,33,41,44,32,43,41,43,32,39,45,40,36,36,40,39,37,44,40,35,42,43,29,41,40,44,38,35,42,41,40,38,39,40,40,40,43,41,43,43,38,40,39,48,43,42,39,41,40,45,38,44,37,10],
|
||||
borderColor: '#ffffff',
|
||||
backgroundColor: '#ffffff'
|
||||
},
|
||||
{
|
||||
label: 'FastAPI',
|
||||
data: [2,385,495,476,462,502,534,518,496,480,513,520,520,509,473,539,491,483,516,463,526,522,520,512,503,545,478,541,468,521,519,489,530,469,479,513,515,495,513,491,508,523,548,483,500,526,505,527,519,496,506,541,504,507,478,508,535,521,488,480,543,379],
|
||||
borderColor: '#0f766e',
|
||||
backgroundColor: '#0f766e'
|
||||
},
|
||||
{
|
||||
label: 'NestJS',
|
||||
data: [111,508,571,566,569,558,544,672,589,628,607,610,555,527,586,596,568,598,581,601,630,595,625,615,623,601,620,685,621,569,579,600,672,643,577,663,695,715,581,576,584,605,605,659,638,594,627,583,603,622,642,606,589,618,584,635,642,592,548,568,653,617,237],
|
||||
borderColor: '#b91c1c',
|
||||
backgroundColor: '#b91c1c'
|
||||
},
|
||||
{
|
||||
label: 'Spring Boot',
|
||||
data: [20,334,444,468,449,425,462,467,499,472,446,479,477,490,490,459,454,490,449,460,453,456,490,486,467,461,496,494,504,503,460,478,502,487,471,460,473,491,476,470,455,464,478,457,491,447,489,476,485,475,458,454,493,490,463,471,460,485,504,480,447,453,481,208],
|
||||
borderColor: '#15803d',
|
||||
backgroundColor: '#15803d'
|
||||
},
|
||||
{
|
||||
label: 'ASP.NET Core',
|
||||
data: [18,742,920,880,882,977,984,976,947,927,962,967,979,955,911,954,965,1005,957,918,904,986,973,974,892,969,973,988,917,900,973,975,972,953,928,963,997,975,971,884,954,977,950,965,923,942,976,968,972,885,959,960,974,948,890,952,973,986,953,914,973,947,102],
|
||||
borderColor: '#6d28d9',
|
||||
backgroundColor: '#6d28d9'
|
||||
}
|
||||
]
|
||||
{{< /chart >}}
|
||||
|
||||
{{< chart type="timeseries" title="Scenario 2" datasets="Laravel|1,38,40,137,150,211,216,255,247,269,285,299,294,291,295,322,322,327,308,314,329,329,341,324,318,336,341,344,328,329,349,347,353,329,333,352,360,351,339,330,355,359,353,328,340,355,348,355,340,334,356,347,356,346,337,347,358,353,336,341,347,347,350,328,345,355,351,351,349,341,354,351,353,340,343,343,353,362,336,333,353,344,362,338,335,353,353,355,339,320,304|#c2410c$Symfony|17,44,40,87,174,168,194,228,229,256,302,289,308,335,345,346,343,328,374,381,359,362,368,393,389,403,380,371,390,387,388,366,379,400,389,397,382,373,390,401,393,387,387,392,413,411,379,390,413,414,414,380,394,417,406,413,388,393,414,417,417,391,395,417,413,410,390,396,409,413,408,378,381,394,412,405,381,393,397,395,396,364,375,363,378,371,336,324,312,292,110|#ffffff$FastAPI|18,187,561,712,691,710,760,736,773,728,812,853,818,874,808,762,828,797,783,779,779,786,828,795,771,804,877,803,852,828,771,877,837,862,773,813,794,834,770,804,768,803,811,839,780,827,821,824,846,807,808,797,837,859,810,788,803,847,839,783,761,835,800,869,787,775,811,828,840,826,837,873,840,857,819,816,817,763,861,769,789,850,832,801,790,771,784,760,773,756,559|#0f766e$NestJS|17,369,682,787,878,1048,1104,1102,1083,1147,1171,1246,1276,1182,1200,1281,1233,1302,1247,1249,1320,1382,1386,1362,1382,1357,1379,1423,1259,1296,1340,1341,1394,1264,1328,1446,1365,1356,1258,1326,1324,1466,1372,1206,1287,1352,1449,1322,1248,1367,1332,1341,1305,1264,1284,1362,1343,1428,1274,1319,1393,1440,1434,1228,1223,1349,1356,1421,1278,1269,1158,1215,1239,1068,1151,1192,1152,1210,1083,1132,1165,1154,1193,1035,984,765,36|#b91c1c$Spring Boot|19,819,1441,1883,2236,2093,2106,2245,2362,2424,2523,2343,2357,2525,2402,2395,2189,2040,2314,2479,2576,2316,2362,2550,2510,2307,2303,2373,2578,2535,2458,2431,2172,2463,2469,2423,2317,2349,2379,2461,2510,2289,2255,2336,2448,2466,2293,2274,2113,2251,2521,2480,2368,2485,2582,2450,2368,2385,2306,2510,2641,2351,2284,2590,2455,2231,2222,2224,2356,2393,1979,1722,1649,1794,1060|#15803d$ASP.NET Core|205,1130,1622,1790,2011,2135,2024,2093,2463,2465,2428,2385,2144,2460,2503,2551,2337,2200,2404,2379,2452,2322,2252,2462,2449,2469,2306,2230,2488,2554,2466,2253,2180,2426,2445,2502,2349,2196,2476,2343,2538,2341,2166,2499,2412,2452,2259,2137,2439,2474,2461,2302,2113,2479,2374,2421,2369,2221,2462,2409,2332,2382,2216,2394,2478,2341,1644,1934,2134,2266,2070,1598,1417,1505,1518,710|#6d28d9" />}}
|
||||
{{< chart type="timeseries" title="Scenario 2" >}}
|
||||
[
|
||||
{
|
||||
label: 'Laravel',
|
||||
data: [1,38,40,137,150,211,216,255,247,269,285,299,294,291,295,322,322,327,308,314,329,329,341,324,318,336,341,344,328,329,349,347,353,329,333,352,360,351,339,330,355,359,353,328,340,355,348,355,340,334,356,347,356,346,337,347,358,353,336,341,347,347,350,328,345,355,351,351,349,341,354,351,353,340,343,343,353,362,336,333,353,344,362,338,335,353,353,355,339,320,304],
|
||||
borderColor: '#c2410c',
|
||||
backgroundColor: '#c2410c'
|
||||
},
|
||||
{
|
||||
label: 'Symfony',
|
||||
data: [17,44,40,87,174,168,194,228,229,256,302,289,308,335,345,346,343,328,374,381,359,362,368,393,389,403,380,371,390,387,388,366,379,400,389,397,382,373,390,401,393,387,387,392,413,411,379,390,413,414,414,380,394,417,406,413,388,393,414,417,417,391,395,417,413,410,390,396,409,413,408,378,381,394,412,405,381,393,397,395,396,364,375,363,378,371,336,324,312,292,110],
|
||||
borderColor: '#ffffff',
|
||||
backgroundColor: '#ffffff'
|
||||
},
|
||||
{
|
||||
label: 'FastAPI',
|
||||
data: [18,187,561,712,691,710,760,736,773,728,812,853,818,874,808,762,828,797,783,779,779,786,828,795,771,804,877,803,852,828,771,877,837,862,773,813,794,834,770,804,768,803,811,839,780,827,821,824,846,807,808,797,837,859,810,788,803,847,839,783,761,835,800,869,787,775,811,828,840,826,837,873,840,857,819,816,817,763,861,769,789,850,832,801,790,771,784,760,773,756,559],
|
||||
borderColor: '#0f766e',
|
||||
backgroundColor: '#0f766e'
|
||||
},
|
||||
{
|
||||
label: 'NestJS',
|
||||
data: [17,369,682,787,878,1048,1104,1102,1083,1147,1171,1246,1276,1182,1200,1281,1233,1302,1247,1249,1320,1382,1386,1362,1382,1357,1379,1423,1259,1296,1340,1341,1394,1264,1328,1446,1365,1356,1258,1326,1324,1466,1372,1206,1287,1352,1449,1322,1248,1367,1332,1341,1305,1264,1284,1362,1343,1428,1274,1319,1393,1440,1434,1228,1223,1349,1356,1421,1278,1269,1158,1215,1239,1068,1151,1192,1152,1210,1083,1132,1165,1154,1193,1035,984,765,36],
|
||||
borderColor: '#b91c1c',
|
||||
backgroundColor: '#b91c1c'
|
||||
},
|
||||
{
|
||||
label: 'Spring Boot',
|
||||
data: [19,819,1441,1883,2236,2093,2106,2245,2362,2424,2523,2343,2357,2525,2402,2395,2189,2040,2314,2479,2576,2316,2362,2550,2510,2307,2303,2373,2578,2535,2458,2431,2172,2463,2469,2423,2317,2349,2379,2461,2510,2289,2255,2336,2448,2466,2293,2274,2113,2251,2521,2480,2368,2485,2582,2450,2368,2385,2306,2510,2641,2351,2284,2590,2455,2231,2222,2224,2356,2393,1979,1722,1649,1794,1060],
|
||||
borderColor: '#15803d',
|
||||
backgroundColor: '#15803d'
|
||||
},
|
||||
{
|
||||
label: 'ASP.NET Core',
|
||||
data: [205,1130,1622,1790,2011,2135,2024,2093,2463,2465,2428,2385,2144,2460,2503,2551,2337,2200,2404,2379,2452,2322,2252,2462,2449,2469,2306,2230,2488,2554,2466,2253,2180,2426,2445,2502,2349,2196,2476,2343,2538,2341,2166,2499,2412,2452,2259,2137,2439,2474,2461,2302,2113,2479,2374,2421,2369,2221,2462,2409,2332,2382,2216,2394,2478,2341,1644,1934,2134,2266,2070,1598,1417,1505,1518,710],
|
||||
borderColor: '#6d28d9',
|
||||
backgroundColor: '#6d28d9'
|
||||
}
|
||||
]
|
||||
{{< /chart >}}
|
||||
|
||||
To resume, compiled languages have always a clear advantage when it comes to raw performance.
|
||||
|
@ -44,25 +44,7 @@
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
],
|
||||
datasets: [
|
||||
{{ range split (.Get "datasets") "$" }}
|
||||
{
|
||||
label: {{ index (split . "|") 0 }},
|
||||
data: [
|
||||
{{ range split (index (split . "|") 1) "," }}
|
||||
{{ . }},
|
||||
{{ end }}
|
||||
],
|
||||
{{ if $c := index (split . "|") 2 }}
|
||||
borderColor: {{ $c }},
|
||||
backgroundColor: {{ $c }},
|
||||
{{ end }}
|
||||
{{ if $.Get "stacked" }}
|
||||
fill: true,
|
||||
{{ end }}
|
||||
},
|
||||
{{ end }}
|
||||
]
|
||||
datasets: {{ .Inner | safeJS }}
|
||||
}
|
||||
{{ else }}
|
||||
{{ .Inner | safeJS }}
|
||||
|
Reference in New Issue
Block a user