import pixie/fileformats/png, stb_image/read as stbi, stb_image/write as stbr, fidget/opengl/perf, nimPNG let data = readFile("tests/images/lenna.png") timeIt "pixie decode": for i in 0 ..< 100: discard decodePng(cast[seq[uint8]](data)) timeIt "pixie encode": let decoded = decodePng(cast[seq[uint8]](data)) for i in 0 ..< 1: discard encodePng(decoded).len timeIt "nimPNG decode": for i in 0 ..< 100: discard decodePNG32(data) timeIt "nimPNG encode": let decoded = decodePNG32(data) for i in 0 ..< 100: discard encodePNG32(decoded.data, decoded.width, decoded.height).pixels.len timeIt "stb_image decode": for i in 0 ..< 100: var width, height, channels: int discard loadFromMemory( cast[seq[byte]](data), width, height, channels, stbi.RGBA ) timeIt "stb_image encode": var width, height, channels: int let decoded = loadFromMemory( cast[seq[byte]](data), width, height, channels, stbi.RGBA ) for i in 0 ..< 100: discard writePNG(width, height, channels, decoded).len