Calculate coercers/schemas outside contexts when not dependent on request
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- clojure
- Lĩnh vực
- backend-api-design, performance
Hướng nghiên cứu
Bắt đầu bằng cách kiểm tra coercer cache, việc xử lý context động và các đường dẫn routes/map->Route và merge-parameters được đề cập trong issue. Issue cần một phạm vi tối ưu hóa đã được thống nhất và một cách để xác minh rằng phần việc không phụ thuộc vào request được tính toán bên ngoài các context mà không làm thay đổi hành vi của route.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Coercers aren't really amenable to this at the moment, and use a memoized cache to get around this limitation (but given that equivalent Schema's are often not equal, might not be totally effective), but the idea is:
(context "/foo" req
(GET "/" []
:body [body :- MySchema]
...))
=>
(let [coercer (cache-coercion s/Int)]
(context "/foo" req
(GET "/" []
:body [body :- coercer]
...))
Or perhaps an even more general optimization that would cache all sorts of things like merge-parameters and all the other args to routes/map->Route and the route itself, even under a dynamic context.
(let [rs (GET "/" []
:body [body :- coercer]
...)]
(context "/foo" req
rs))
- Ngôn ngữ chính
- Clojure
- Star
- 1.1k
- Fork
- 145
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của metosin/compojure-api
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
metosin/compojure-api#489 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
metosin/compojure-api#468 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
metosin/compojure-api#467 ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 30/100
metosin/compojure-api#463 · 3 bình luận ·
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
metosin/compojure-api#462 · 3 bình luận ·
Tất cả issue của metosin/compojure-api
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
NoahTheDuke/splint#56 ·
-
Permissioned transactions fetch each entity once per tx-step, producing huge permission-check queriesCó thể đã có người làm @verveguy đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 74/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 84/100
clojure-lsp/clojure-lsp#2502 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Sessions are never closedĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100