holoviz / datashader

Quickly and accurately render even the largest data.
http://datashader.org
BSD 3-Clause "New" or "Revised" License
3.24k stars 363 forks source link

Pre-compile antialias stage 2 combination #1258

Closed ianthomas23 closed 11 months ago

ianthomas23 commented 11 months ago

This PR moves the antialias stage 2 combination functions to compiler.py so that they are precompiled using numba, in the same was as performed for the append function, then passed through the stack of numba jitted-functions to where they are used in the antialiased line code.

There is no functional change. This is required to support stage 2 antialiasing for reductions in general which can have aggregations which are 2D, 3D or 4D.

codecov[bot] commented 11 months ago

Codecov Report

Merging #1258 (7b68810) into main (7aaba9f) will increase coverage by 0.07%. The diff coverage is 94.89%.

@@            Coverage Diff             @@
##             main    #1258      +/-   ##
==========================================
+ Coverage   83.41%   83.48%   +0.07%     
==========================================
  Files          35       35              
  Lines        8886     8927      +41     
==========================================
+ Hits         7412     7453      +41     
  Misses       1474     1474              
Files Changed Coverage Δ
datashader/macros.py 93.00% <ø> (ø)
datashader/reductions.py 77.81% <28.57%> (+0.01%) :arrow_up:
datashader/antialias.py 96.77% <66.66%> (+0.22%) :arrow_up:
datashader/compiler.py 90.04% <97.61%> (+1.48%) :arrow_up:
datashader/data_libraries/dask.py 92.80% <100.00%> (ø)
datashader/data_libraries/dask_xarray.py 98.94% <100.00%> (ø)
datashader/data_libraries/pandas.py 100.00% <100.00%> (ø)
datashader/glyphs/area.py 79.82% <100.00%> (ø)
datashader/glyphs/line.py 93.05% <100.00%> (+0.18%) :arrow_up:
datashader/glyphs/points.py 88.29% <100.00%> (ø)
... and 3 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more