pixie/tests/benchmark_blends.nim

322 lines
7.2 KiB
Nim
Raw Normal View History

2021-01-23 04:54:57 +00:00
import benchy, chroma, vmath, pixie/images
include pixie/blends
2020-12-09 07:25:48 +00:00
let
2021-01-23 04:54:57 +00:00
backdrop = newImage(256, 256)
source = newImage(256, 256)
source.fill(rgba(100, 100, 100, 100))
template reset() =
backdrop.fill(rgba(0, 0, 0, 255))
reset()
timeIt "blendNormal":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendNormal(backdrop.data[i], source.data[i])
reset()
timeIt "blendNormalFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendNormalFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendDarken":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendDarken(backdrop.data[i], source.data[i])
reset()
timeIt "blendDarkenFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendDarkenFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendMultiply":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendMultiply(backdrop.data[i], source.data[i])
reset()
timeIt "blendMultiplyFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendMultiplyFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendLinearBurn":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLinearBurn(backdrop.data[i], source.data[i])
reset()
timeIt "blendLinearBurnFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLinearBurnFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendColorBurn":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorBurn(backdrop.data[i], source.data[i])
reset()
timeIt "blendColorBurnFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorBurnFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendLighten":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLighten(backdrop.data[i], source.data[i])
reset()
timeIt "blendLightenFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLightenFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendScreen":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendScreen(backdrop.data[i], source.data[i])
reset()
timeIt "blendScreenFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendScreenFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendLinearDodge":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLinearDodge(backdrop.data[i], source.data[i])
reset()
timeIt "blendLinearDodgeFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLinearDodgeFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendColorDodge":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorDodge(backdrop.data[i], source.data[i])
reset()
timeIt "blendColorDodgeFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorDodgeFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendOverlay":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendOverlay(backdrop.data[i], source.data[i])
reset()
timeIt "blendOverlayFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendOverlayFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendSoftLight":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSoftLight(backdrop.data[i], source.data[i])
reset()
timeIt "blendSoftLightFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSoftLightFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
2020-12-09 07:18:57 +00:00
timeIt "blendHardLight":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendHardLight(backdrop.data[i], source.data[i])
reset()
2020-12-09 07:18:57 +00:00
timeIt "blendHardLightFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendHardLightFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
2020-12-09 07:18:57 +00:00
timeIt "blendDifference":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendDifference(backdrop.data[i], source.data[i])
reset()
timeIt "blendDifferenceFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendDifferenceFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendExclusion":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendExclusion(backdrop.data[i], source.data[i])
reset()
timeIt "blendExclusionFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendExclusionFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendHue":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendHue(backdrop.data[i], source.data[i])
reset()
timeIt "blendHueFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendHueFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendSaturation":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSaturation(backdrop.data[i], source.data[i])
reset()
timeIt "blendSaturationFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSaturationFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendColor":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColor(backdrop.data[i], source.data[i])
reset()
timeIt "blendColorFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendColorFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendLuminosity":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLuminosity(backdrop.data[i], source.data[i])
reset()
timeIt "blendLuminosityFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendLuminosityFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendMask":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendMask(backdrop.data[i], source.data[i])
reset()
timeIt "blendMaskFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendMaskFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendSubtractMask":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSubtractMask(backdrop.data[i], source.data[i])
reset()
timeIt "blendSubtractMaskFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendSubtractMaskFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendIntersectMask":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendIntersectMask(backdrop.data[i], source.data[i])
reset()
timeIt "blendIntersectMaskFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendIntersectMaskFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()
timeIt "blendExcludeMask":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendExcludeMask(backdrop.data[i], source.data[i])
reset()
timeIt "blendExcludeMaskFloats":
2021-01-23 04:54:57 +00:00
for i in 0 ..< backdrop.data.len:
backdrop.data[i] = blendExcludeMaskFloats(
backdrop.data[i].color, source.data[i].color
).rgba
reset()