Much of this stack, from 25 std::__basic_future::wait to 8 operator() is C++ standard library implementation details for running a a task potentially in multiple threads with std::async.

Key thing to find out is whether Geany has enabled multithreaded layout by calling SCI_SETLAYOUTTHREADS. The same code will run single threaded but uses the deferred policy which is equivalent to just calling the task.

A potential clue is the apparent size of the vector being processed by LayoutSegments: 1499999 so 1.5 million segments (lexemes like number or identifier) in a wide line of text although the piece of that text being measured by MeasureWidthsUTF8 is just "728333".


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <geany/geany/issues/3944/2359604352@github.com>