You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Rendering big trees is noticeable slow in spectre.console - moreover compared with other tools in which the same rendering seems to happen instantaneously.
To Reproduce
I'm playing with the library by creating a clone of the tree utility. For this, first i traverse the FileSystem, then build the Tree object, then render it using AnsiConsole.Render. This is the detailed log of how much time each operation took:
23:23:49.537 FsTree - Started walking tree '/Users/sluisp/wkspaces/codice'
23:23:50.281 FsTree - Finished walking tree. Found 10703 directories and 95 files
23:23:50.287 FsTreeCommand - Started rendering the tree with AnsiConsole
23:23:50.290 RenderTree - Started building Spectre.Console.Tree object
23:23:50.369 RenderTree - Finished building Spetre.Console.Tree object
23:24:35.030 FsTreeCommand - Finished rendering tree
Traversing the FS: 744ms
Building the Spectre.Console.Tree object: 79ms
Calling AnsiConsole.Render with that tree: 84661ms
As you can see in the logs, the tree is comprised of 10798 nodes. It's quite big, but for a FileSystem I would consider it quite standard. Each node is only plain text - no text colors, no tables, not anything fancy. A exact tree clone regarding what goes to the screen.
Expected behavior
The rendering could be faster. I'm sure lot's of things are happening behind the scenes, but... maybe there is room for improvement :)
Or maybe I'm using the library wrong and I need to adjust a buffer or something like that for it to work faster, but I didn't found anything documented.
The text was updated successfully, but these errors were encountered:
Information
Describe the bug
Rendering big trees is noticeable slow in spectre.console - moreover compared with other tools in which the same rendering seems to happen instantaneously.
To Reproduce
I'm playing with the library by creating a clone of the
tree
utility. For this, first i traverse the FileSystem, then build theTree
object, then render it usingAnsiConsole.Render
. This is the detailed log of how much time each operation took:Spectre.Console.Tree
object: 79msAnsiConsole.Render
with that tree: 84661msAs you can see in the logs, the tree is comprised of 10798 nodes. It's quite big, but for a FileSystem I would consider it quite standard. Each node is only plain text - no text colors, no tables, not anything fancy. A exact
tree
clone regarding what goes to the screen.Expected behavior
The rendering could be faster. I'm sure lot's of things are happening behind the scenes, but... maybe there is room for improvement :)
Or maybe I'm using the library wrong and I need to adjust a buffer or something like that for it to work faster, but I didn't found anything documented.
The text was updated successfully, but these errors were encountered: