From b085d9c764954686d45206ed700418b6ae71e3a0 Mon Sep 17 00:00:00 2001
From: Automatic build
Date: Sun, 30 Dec 2018 15:32:43 +0000
Subject: [PATCH] Build book from commit
dece45f0365570acb2fb98daf4126112d537c689 [skip ci]
---
advanced/composing_routers.html | 2 +-
advanced/configuring_routers.html | 2 +-
advanced/dev_workflow.html | 2 +-
advanced/different_routers.html | 2 +-
advanced/route_validation.html | 2 +-
advanced/shared_routes.html | 2 +-
basics/name_based_routing.html | 2 +-
basics/path_based_routing.html | 2 +-
basics/route_conflicts.html | 2 +-
basics/route_data.html | 2 +-
basics/route_data_validation.html | 2 +-
basics/route_syntax.html | 2 +-
basics/router.html | 2 +-
coercion/clojure_spec_coercion.html | 2 +-
coercion/coercion.html | 2 +-
coercion/data_spec_coercion.html | 2 +-
coercion/schema_coercion.html | 2 +-
development.html | 2 +-
faq.html | 2 +-
frontend/basics.html | 2 +-
frontend/browser.html | 2 +-
frontend/controllers.html | 2 +-
http/default_interceptors.html | 2 +-
http/interceptors.html | 2 +-
http/pedestal.html | 2 +-
http/sieppari.html | 2 +-
http/transforming_interceptor_chain.html | 2 +-
index.html | 2 +-
performance.html | 6 +++---
ring/coercion.html | 2 +-
ring/compiling_middleware.html | 2 +-
ring/data_driven_middleware.html | 2 +-
ring/default_handler.html | 2 +-
ring/default_middleware.html | 2 +-
ring/dynamic_extensions.html | 2 +-
ring/middleware_registry.html | 2 +-
ring/reverse_routing.html | 2 +-
ring/ring.html | 2 +-
ring/route_data_validation.html | 2 +-
ring/slash_handler.html | 2 +-
ring/static.html | 2 +-
ring/swagger.html | 2 +-
ring/transforming_middleware_chain.html | 2 +-
43 files changed, 45 insertions(+), 45 deletions(-)
diff --git a/advanced/composing_routers.html b/advanced/composing_routers.html
index faa5ed4d..7723239d 100644
--- a/advanced/composing_routers.html
+++ b/advanced/composing_routers.html
@@ -1137,7 +1137,7 @@
diff --git a/advanced/configuring_routers.html b/advanced/configuring_routers.html
index 27d03bc6..71eddf38 100644
--- a/advanced/configuring_routers.html
+++ b/advanced/configuring_routers.html
@@ -843,7 +843,7 @@
diff --git a/advanced/dev_workflow.html b/advanced/dev_workflow.html
index 6fdd2bbf..18994037 100644
--- a/advanced/dev_workflow.html
+++ b/advanced/dev_workflow.html
@@ -902,7 +902,7 @@
diff --git a/advanced/different_routers.html b/advanced/different_routers.html
index 12db20c8..89a7dc13 100644
--- a/advanced/different_routers.html
+++ b/advanced/different_routers.html
@@ -850,7 +850,7 @@
diff --git a/advanced/route_validation.html b/advanced/route_validation.html
index fd3a2183..baccdf59 100644
--- a/advanced/route_validation.html
+++ b/advanced/route_validation.html
@@ -938,7 +938,7 @@
diff --git a/advanced/shared_routes.html b/advanced/shared_routes.html
index 2c3c3335..d08ca85e 100644
--- a/advanced/shared_routes.html
+++ b/advanced/shared_routes.html
@@ -858,7 +858,7 @@
diff --git a/basics/name_based_routing.html b/basics/name_based_routing.html
index 6ea0890a..aa5d6bde 100644
--- a/basics/name_based_routing.html
+++ b/basics/name_based_routing.html
@@ -861,7 +861,7 @@
diff --git a/basics/path_based_routing.html b/basics/path_based_routing.html
index 9cebffae..14f876e2 100644
--- a/basics/path_based_routing.html
+++ b/basics/path_based_routing.html
@@ -819,7 +819,7 @@
diff --git a/basics/route_conflicts.html b/basics/route_conflicts.html
index fce33a2d..2cf024b6 100644
--- a/basics/route_conflicts.html
+++ b/basics/route_conflicts.html
@@ -862,7 +862,7 @@
diff --git a/basics/route_data.html b/basics/route_data.html
index cfe523ff..69a25c75 100644
--- a/basics/route_data.html
+++ b/basics/route_data.html
@@ -860,7 +860,7 @@
diff --git a/basics/route_data_validation.html b/basics/route_data_validation.html
index 71952181..9f1fe5d4 100644
--- a/basics/route_data_validation.html
+++ b/basics/route_data_validation.html
@@ -912,7 +912,7 @@
diff --git a/basics/route_syntax.html b/basics/route_syntax.html
index 517dc82a..1236b798 100644
--- a/basics/route_syntax.html
+++ b/basics/route_syntax.html
@@ -849,7 +849,7 @@ E.g., /foo bar should be /foo%20bar.
diff --git a/basics/router.html b/basics/router.html
index 83b45952..626321f5 100644
--- a/basics/router.html
+++ b/basics/router.html
@@ -829,7 +829,7 @@
diff --git a/coercion/clojure_spec_coercion.html b/coercion/clojure_spec_coercion.html
index f0da20e3..0bdce3ae 100644
--- a/coercion/clojure_spec_coercion.html
+++ b/coercion/clojure_spec_coercion.html
@@ -836,7 +836,7 @@
diff --git a/coercion/coercion.html b/coercion/coercion.html
index 283a47cf..40cb052c 100644
--- a/coercion/coercion.html
+++ b/coercion/coercion.html
@@ -926,7 +926,7 @@
diff --git a/coercion/data_spec_coercion.html b/coercion/data_spec_coercion.html
index f10658ac..15ae706d 100644
--- a/coercion/data_spec_coercion.html
+++ b/coercion/data_spec_coercion.html
@@ -825,7 +825,7 @@
diff --git a/coercion/schema_coercion.html b/coercion/schema_coercion.html
index 5684e9fa..d4035d25 100644
--- a/coercion/schema_coercion.html
+++ b/coercion/schema_coercion.html
@@ -826,7 +826,7 @@
diff --git a/development.html b/development.html
index 31964d2d..612a61d0 100644
--- a/development.html
+++ b/development.html
@@ -816,7 +816,7 @@ lein test
diff --git a/faq.html b/faq.html
index 51102aa4..4833cfde 100644
--- a/faq.html
+++ b/faq.html
@@ -894,7 +894,7 @@
diff --git a/frontend/basics.html b/frontend/basics.html
index 6b42d3c8..9b2ce959 100644
--- a/frontend/basics.html
+++ b/frontend/basics.html
@@ -804,7 +804,7 @@ React breaking due to errors).
diff --git a/frontend/browser.html b/frontend/browser.html
index 786ac3fe..a8cd49bb 100644
--- a/frontend/browser.html
+++ b/frontend/browser.html
@@ -808,7 +808,7 @@ router instance and passes the instance to all calls.
diff --git a/frontend/controllers.html b/frontend/controllers.html
index 1538102c..412085d7 100644
--- a/frontend/controllers.html
+++ b/frontend/controllers.html
@@ -892,7 +892,7 @@ missing resources.
diff --git a/http/default_interceptors.html b/http/default_interceptors.html
index 6c6dd8f0..4b9e29f9 100644
--- a/http/default_interceptors.html
+++ b/http/default_interceptors.html
@@ -816,7 +816,7 @@
diff --git a/http/interceptors.html b/http/interceptors.html
index cfa21986..49b0bf3e 100644
--- a/http/interceptors.html
+++ b/http/interceptors.html
@@ -844,7 +844,7 @@
diff --git a/http/pedestal.html b/http/pedestal.html
index 2ca7295b..31faa4ae 100644
--- a/http/pedestal.html
+++ b/http/pedestal.html
@@ -855,7 +855,7 @@
diff --git a/http/sieppari.html b/http/sieppari.html
index 91804378..1bcfc634 100644
--- a/http/sieppari.html
+++ b/http/sieppari.html
@@ -856,7 +856,7 @@
diff --git a/http/transforming_interceptor_chain.html b/http/transforming_interceptor_chain.html
index b0467c53..dfe4f021 100644
--- a/http/transforming_interceptor_chain.html
+++ b/http/transforming_interceptor_chain.html
@@ -850,7 +850,7 @@
diff --git a/index.html b/index.html
index 0700ae43..dfb07e1f 100644
--- a/index.html
+++ b/index.html
@@ -943,7 +943,7 @@
diff --git a/performance.html b/performance.html
index ea6e0373..96636152 100644
--- a/performance.html
+++ b/performance.html
@@ -810,11 +810,11 @@
RESTful apis
To get better view on the real life routing performance, there is test of a mid-size rest(ish) http api with 50+ routes, having a lot of path parameters. The route definitions are pulled off from the OpenSensors swagger definitions.
Thanks to the snappy new segment-tree algorithm, reitit-ring is fastest here. Pedestal is also fast with it's prefix-tree implementation.
-
+
CQRS apis
Another real-life test scenario is a CQRS-style route tree, where all the paths are static, e.g. /api/command/add-order. The 300 route definitions are pulled out from Lupapiste.
Both reitit-ring and Pedestal shine in this test, thanks to the fast lookup-routers. On average, they are two and on best case, three orders of magnitude faster than the other tested libs. Ataraxy failed this test on Method code too large! error.
-
+
NOTE: in real life, there are usually always also wild-card routes present. In this case, Pedestal would fallback from lookup-router to the prefix-tree router, which is order of magnitude slower (30x in this test). Reitit would handle this nicely thanks to it's :mixed-router: all static routes would still be served with :lookup-router, just the wildcard routes with :segment-tree. The performance would not notably degrade.
Why measure?
The reitit routing perf is measured to get an internal baseline to optimize against. We also want to ensure that new features don't regress the performance. Perf tests should be run in a stable CI environment. Help welcome!
@@ -873,7 +873,7 @@
diff --git a/ring/coercion.html b/ring/coercion.html
index 7dd846c9..7edcd950 100644
--- a/ring/coercion.html
+++ b/ring/coercion.html
@@ -927,7 +927,7 @@
diff --git a/ring/compiling_middleware.html b/ring/compiling_middleware.html
index 640f28f7..64ed1b84 100644
--- a/ring/compiling_middleware.html
+++ b/ring/compiling_middleware.html
@@ -854,7 +854,7 @@
diff --git a/ring/data_driven_middleware.html b/ring/data_driven_middleware.html
index 2de55e5f..f83bff10 100644
--- a/ring/data_driven_middleware.html
+++ b/ring/data_driven_middleware.html
@@ -882,7 +882,7 @@
diff --git a/ring/default_handler.html b/ring/default_handler.html
index aa9de82c..9fbc3e22 100644
--- a/ring/default_handler.html
+++ b/ring/default_handler.html
@@ -860,7 +860,7 @@
diff --git a/ring/default_middleware.html b/ring/default_middleware.html
index b688c7c5..07c4e1ea 100644
--- a/ring/default_middleware.html
+++ b/ring/default_middleware.html
@@ -1033,7 +1033,7 @@ Server: Jetty(9.2.21.v20170120)
diff --git a/ring/dynamic_extensions.html b/ring/dynamic_extensions.html
index f2b762cb..45f66e8c 100644
--- a/ring/dynamic_extensions.html
+++ b/ring/dynamic_extensions.html
@@ -829,7 +829,7 @@
diff --git a/ring/middleware_registry.html b/ring/middleware_registry.html
index 1950411b..9e7f459c 100644
--- a/ring/middleware_registry.html
+++ b/ring/middleware_registry.html
@@ -840,7 +840,7 @@
diff --git a/ring/reverse_routing.html b/ring/reverse_routing.html
index 0913fc61..efccb29a 100644
--- a/ring/reverse_routing.html
+++ b/ring/reverse_routing.html
@@ -825,7 +825,7 @@
diff --git a/ring/ring.html b/ring/ring.html
index e092fbd8..2e238b6f 100644
--- a/ring/ring.html
+++ b/ring/ring.html
@@ -961,7 +961,7 @@
diff --git a/ring/route_data_validation.html b/ring/route_data_validation.html
index b531c8d5..ba042dc4 100644
--- a/ring/route_data_validation.html
+++ b/ring/route_data_validation.html
@@ -1037,7 +1037,7 @@
diff --git a/ring/slash_handler.html b/ring/slash_handler.html
index 1700c7f6..39e2aa69 100644
--- a/ring/slash_handler.html
+++ b/ring/slash_handler.html
@@ -863,7 +863,7 @@
diff --git a/ring/static.html b/ring/static.html
index 270e541d..8f8fc609 100644
--- a/ring/static.html
+++ b/ring/static.html
@@ -865,7 +865,7 @@
diff --git a/ring/swagger.html b/ring/swagger.html
index f6c7617a..e498a8aa 100644
--- a/ring/swagger.html
+++ b/ring/swagger.html
@@ -1084,7 +1084,7 @@ see the next example
diff --git a/ring/transforming_middleware_chain.html b/ring/transforming_middleware_chain.html
index 3845b822..c374adca 100644
--- a/ring/transforming_middleware_chain.html
+++ b/ring/transforming_middleware_chain.html
@@ -846,7 +846,7 @@