Skip to content
Snippets Groups Projects
Commit 10d3f11a authored by Dominic Kempf's avatar Dominic Kempf
Browse files

[!301] Avoid get_option in innermost loop when determining quadrature points

Merge branch 'bugfix/avoid-get-option-in-innermost-loops' into 'master'

ref:extensions/dune-codegen This fixes a code generation performance bug in
sum factorized code. It also reveals that statistic profiling could be
superhelpful to us.

See merge request [extensions/dune-codegen!301]

  [extensions/dune-codegen!301]: gitlab.dune-project.org/extensions/dune-codegen/merge_requests/301
parents c4a14ce5 c3bb74fc
No related branches found
No related tags found
No related merge requests found
...@@ -27,6 +27,8 @@ from loopy.match import Writes ...@@ -27,6 +27,8 @@ from loopy.match import Writes
import numpy as np import numpy as np
import pymbolic.primitives as prim import pymbolic.primitives as prim
from pytools import memoize
@geometry_mixin("base") @geometry_mixin("base")
class GeometryMixinBase(object): class GeometryMixinBase(object):
...@@ -472,6 +474,7 @@ def name_in_cell_geometry(restriction): ...@@ -472,6 +474,7 @@ def name_in_cell_geometry(restriction):
return name return name
@memoize
def world_dimension(): def world_dimension():
data = get_global_context_value("data") data = get_global_context_value("data")
form = data.object_by_name[get_form_option("form")] form = data.object_by_name[get_form_option("form")]
......
...@@ -273,6 +273,7 @@ def quadrature_points_per_direction(): ...@@ -273,6 +273,7 @@ def quadrature_points_per_direction():
# Quadrature points in per direction # Quadrature points in per direction
nb_qp = tuple(order // 2 + 1 for order in q) nb_qp = tuple(order // 2 + 1 for order in q)
_quad = nb_qp
return nb_qp return nb_qp
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment