Skip to content

Commit

Permalink
Add template for a proposal for a new optimization.
Browse files Browse the repository at this point in the history
  • Loading branch information
Andi Wang committed Feb 7, 2022
1 parent a28dcdc commit 6bf93f8
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions .github/ISSUE_TEMPLATE/07-optimization.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Copyright Materialize, Inc. and contributors. All rights reserved.
#
# Use of this software is governed by the Business Source License
# included in the LICENSE file at the root of this repository.
#
# As of the Change Date specified in that file, in accordance with
# the Business Source License, use of this software will be governed
# by the Apache License, Version 2.0.

name: "Internal - Proposed Optimization"
description: A proposal for a new query optimization. Contributor use only.
labels: ["A-optimization", "needs-discussion"]
body:
- type: textarea
attributes:
label: Elevator pitch
description: Each question should be answered comprehensively but using as
few sentences as possible.
value: |
1. What does the transformation do? Give a representative SQL query.
2. Why should we add it?
3. When would it be good to have?
4. When would it be ineffectual?
5. When would be bad to have?
6. In the worst case, how would it degrade performance?
validations:
required: true
- type: textarea
attributes:
label: List real life instances where this transformation would help.
- type: textarea
attributes:
label: Cost Model
description: |
If both the implementation and cost model are simple, this section can
be skipped if the implementation section is filled in.
Each subsection is meant to be answered with formulae. Take into account
memory, CPU, liveness, and skew. Approximations are ok if it is not
possible to calculate exact numbers.
If the transformation is always good to have, you only have to fill out
the first subsection.
value: |
1. What is the benefit of the transformation?
2. What is the overhead?
3. When would the transformation be worthwhile? Intuitively, this should
be when benefit > overhead, but sometimes a benefit with regards to X
comes at a cost with regards to Y, and it would be worthwhile to discuss
when it is worthwhile to sacrifice Y to gain a benefit in X.
- type: textarea
attributes:
label: List any knobs that we may need to tune or expose to the user.
- type: textarea
attributes:
label: Proposed implementation
value: |
1. Describe the implementation.
2. Which queries will do better with the given implementation?
3. Which queries will do worse?
4. Break the implementation down into stages.

0 comments on commit 6bf93f8

Please sign in to comment.