Kod R
R wykonuje się za pośrednictwem WebR, czyli R skompilowanego do WebAssembly. To język do zastosowania wtedy, gdy interesująca weryfikacja jest statystyczna, a nie strukturalna: rozkład czasów odpowiedzi, odsetek błędów, średnie kroczące.
| Symbol | Rola |
|---|---|
input | Wartość odebrana na porcie wejściowym |
vars | Zmienne uruchomienia |
cat(...), print(...) | Zapisują w dzienniku wykonania |
| Ostatnie wyrażenie | Jego wartość trafia na port result |
Wartości skalarne są rozpakowywane; lista nazwana wychodzi jako obiekt JSON.
Przykład
Section titled “Przykład”temps <- unlist(input$temps_ms)
moyenne <- mean(temps)p95 <- quantile(temps, 0.95)
cat(sprintf("moyenne %.1f ms, p95 %.1f ms\n", moyenne, p95))
list(moyenne = moyenne, p95 = unname(p95), n = length(temps))Wyjście warto podłączyć do bloku
Assert z operatorem lt, aby
wykonanie kończyło się niepowodzeniem, gdy p95 przekroczy przyjęty budżet.
Pakiety zewnętrzne
Section titled “Pakiety zewnętrzne”Pole packages przyjmuje pakiety CRAN, udostępniane z repozytorium
WebAssembly projektu WebR.
O czym warto wiedzieć
Section titled “O czym warto wiedzieć”Silnik R jest współdzielonym singletonem, a jego uruchomienia są kolejkowane.
Długi skrypt R opóźnia więc następne w obrębie tego samego wykonania — warto
utrzymywać je krótkie albo odpowiednio zwiększyć timeout.