diff --git a/spec/unit/benchmark_spec.lua b/spec/unit/benchmark_spec.lua index f4ad90971..23ab4b9de 100644 --- a/spec/unit/benchmark_spec.lua +++ b/spec/unit/benchmark_spec.lua @@ -1,5 +1,4 @@ require "defaults" -require "libs/libkoreader-luagettext" package.path = "?.lua;common/?.lua;frontend/?.lua" package.cpath = "?.so;common/?.so;/usr/lib/lua/?.so" @@ -8,12 +7,12 @@ einkfb = require("ffi/framebuffer") -- do not show SDL window einkfb.dummy = true Blitbuffer = require("ffi/blitbuffer") -util = require("ffi/util") local Screen = require("ui/screen") local DocSettings = require("docsettings") G_reader_settings = DocSettings:open(".reader") local DocumentRegistry = require("document/documentregistry") +local util = require("ffi/util") local DEBUG = require("dbg") -- screen should be inited for crengine @@ -33,7 +32,7 @@ end describe("PDF rendering benchmark", function() local sample_pdf = "spec/front/unit/data/sample.pdf" local doc = DocumentRegistry:openDocument(sample_pdf) - for pageno = 1, doc.info.number_of_pages do + for pageno = 1, math.min(10, doc.info.number_of_pages) do local secs, usecs = util.gettime() assert.truthy(doc:renderPage(pageno, nil, 1, 0, 1.0, 0)) local nsecs, nusecs = util.gettime() @@ -43,3 +42,17 @@ describe("PDF rendering benchmark", function() doc:close() end) +describe("PDF reflowing benchmark", function() + local sample_pdf = "spec/front/unit/data/sample.pdf" + local doc = DocumentRegistry:openDocument(sample_pdf) + doc.configurable.text_wrap = 1 + for pageno = 1, math.min(10, doc.info.number_of_pages) do + local secs, usecs = util.gettime() + assert.truthy(doc:renderPage(pageno, nil, 1, 0, 1.0, 0)) + local nsecs, nusecs = util.gettime() + local dur = nsecs - secs + (nusecs - usecs) / 1000000 + logDuration("pdf_reflowing.log", pageno, dur) + end + doc:close() +end) +