tom
October 4, 2022, 8:08pm
41
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/name/Pictures/Art/sketches', False)>]
DEBUG: Found 517 of 699 files in 0.1009225845336914s
DEBUG: - Files: 517
DEBUG: - Directories: 0
DEBUG: Filter 517 files to 517 files in 0.30652308464050293s
DEBUG: BCFileList.execute.99-global: 0.4912
DEBUG: BCFileList.execute.01-search: 0.1009
DEBUG: BCFileList.execute.02-filter: 0.3065
DEBUG: BCFileList.execute.03-result: 0.0448
DEBUG: BCFileList.execute.04-buildStats: 0.0386
DEBUG: BCFileList.execute.05-sort: 0.0000
DEBUG: ===========================================
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/name/Pictures/Art', False)>]
DEBUG: Found 29 of 31 files in 0.05680274963378906s
DEBUG: - Files: 6
DEBUG: - Directories: 23
DEBUG: Filter 29 files to 6 files in 0.03953099250793457s
DEBUG: BCFileList.execute.99-global: 0.1036
DEBUG: BCFileList.execute.01-search: 0.0568
DEBUG: BCFileList.execute.02-filter: 0.0395
DEBUG: BCFileList.execute.03-result: 0.0033
DEBUG: BCFileList.execute.04-buildStats: 0.0032
DEBUG: BCFileList.execute.05-sort: 0.0000
DEBUG: ===========================================
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/name/Pictures/Art/sketches', False)>]
DEBUG: Found 517 of 699 files in 0.05538177490234375s
DEBUG: - Files: 517
DEBUG: - Directories: 0
DEBUG: Filter 517 files to 517 files in 0.27915453910827637s
DEBUG: BCFileList.execute.99-global: 0.4266
DEBUG: BCFileList.execute.01-search: 0.0554
DEBUG: BCFileList.execute.02-filter: 0.2792
DEBUG: BCFileList.execute.03-result: 0.0573
DEBUG: BCFileList.execute.04-buildStats: 0.0341
DEBUG: BCFileList.execute.05-sort: 0.0000
DEBUG: ===========================================
Ok thanks!
So clearly times to process directories are the same, problem occurs during startupā¦
Grum999
Hi @tom
Iāve opened a ticket for this performances problem:
opened 04:34PM - 05 Oct 22 UTC
closed 07:41AM - 22 Oct 22 UTC
enhancement
fixed
From KA forum: https://krita-artists.org/t/bulicommander/11612/34?u=grum999
S⦠tarting to look in detail execution time:
- Open window plugin from directory X: ~2.28s
- Change directory to X: ~0.98s
## Some detailed execution time comparison
### Startup
``` text
DEBUG: >> Start: BCMainWindow.01.00.init
DEBUG: >> Start: BCMainWindow.01.01.init-ui
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.99.init
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.01.init-var
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.01.init-var -- (0.00280499 @+0.01607823)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.02.init-ui
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.02.init-ui -- (0.12602472 @+0.14213943)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.03.init-misc
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.03.init-misc -- (0.01798463 @+0.16016626)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.99.init -- (0.14694500 @+0.16020155)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.99.init
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.01.init-var
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.01.init-var -- (0.00040483 @+0.16159034)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.02.init-ui
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.02.init-ui -- (0.07224846 @+0.23386097)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.03.init-misc
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.03.init-misc -- (0.01197386 @+0.24586987)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.99.init -- (0.08471298 @+0.24588680)
DEBUG: << Stop: BCMainWindow.01.01.init-ui -- (0.68344665 @+0.68351483)
DEBUG: >> Start: BCMainWindow.01.02.init-var
DEBUG: << Stop: BCMainWindow.01.02.init-var -- (0.02447295 @+0.70802069)
DEBUG: << Stop: BCMainWindow.01.00.init -- (0.70799017 @+0.70803857)
DEBUG: >> Start: BCUIController.01.99.__initSettings
DEBUG: >> Start: BCUIController.01.01.__initSettings
DEBUG: >> Start: BCMainWindow.02.00.initMainView
DEBUG: << Stop: BCMainWindow.02.00.initMainView -- (0.01224232 @+0.74112058)
DEBUG: << Stop: BCUIController.01.01.__initSettings -- (0.01230788 @+0.74114633)
DEBUG: >> Start: BCUIController.01.02.__initSettings
DEBUG: << Stop: BCUIController.01.02.__initSettings -- (0.00000501 @+0.74116278)
DEBUG: >> Start: BCUIController.01.03.__initSettings
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01 -- (0.00000429 @+1.10067368)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02 -- (0.00002956 @+1.10071540)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99 -- (0.00053740 @+1.10072351)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.01
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.01 -- (0.00000691 @+1.21730828)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.02 -- (0.00002718 @+1.21735001)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.99 -- (0.00048923 @+1.21735787)
DEBUG: << Stop: BCUIController.01.03.__initSettings -- (0.53420448 @+1.27538252)
DEBUG: >> Start: BCUIController.01.04.__initSettings
DEBUG: << Stop: BCUIController.01.04.__initSettings -- (0.00384974 @+1.27926517)
DEBUG: >> Start: BCUIController.01.05.__initSettings
DEBUG: << Stop: BCUIController.01.05.__initSettings -- (0.00016642 @+1.27945542)
DEBUG: >> Start: BCUIController.01.06.__initSettings
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/grum/Data/Temp/testmd5', False)>]
DEBUG: Found 500 of 500 files in 0.01070857048034668s
DEBUG: - Files: 500
DEBUG: - Directories: 0
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00093722 @+1.30013943)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.12679362 @+1.42696834)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.12679362
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00093722
DEBUG: ===========================================
DEBUG: Filter 500 files to 500 files in 0.1286461353302002s
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00012541 @+1.42807961)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.01892900 @+1.44703436)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.01892900
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00012541
DEBUG: ===========================================
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00005937 @+1.44839334)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.01685643 @+1.46526504)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.01685643
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00005937
DEBUG: ===========================================
DEBUG: BCFileList.execute.01-search: 0.01070857
DEBUG: BCFileList.execute.02-filter: 0.12864614
DEBUG: BCFileList.execute.03-result: 0.02039981
DEBUG: BCFileList.execute.04-buildStats: 0.01811695
DEBUG: BCFileList.execute.05-sort: 0.00000477
DEBUG: BCFileList.execute.99-global: 0.17827249
DEBUG: ===========================================
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.18720889 @+1.46670890)
DEBUG: >> Start: BCFileModel[0x7f8f5729d940].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729d940].__dataUpdateSort -- (0.00320649 @+1.49513841)
DEBUG: >> Start: BCFileModel[0x7f8f5729db80].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729db80].__dataUpdateSort -- (0.00322151 @+1.49837637)
DEBUG: << Stop: BCUIController.01.06.__initSettings -- (0.87273455 @+2.15220380)
DEBUG: >> Start: BCUIController.01.07.__initSettings
DEBUG: << Stop: BCUIController.01.07.__initSettings -- (0.01808476 @+2.17030978)
DEBUG: << Stop: BCUIController.01.99.__initSettings -- (1.44156599 @+2.17032361)
```
### Change directory
```text
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/grum/Data/Temp', False)>]
DEBUG: Found 2 of 2 files in 0.0032536983489990234s
DEBUG: - Files: 0
DEBUG: - Directories: 2
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00006485 @+0.03051114)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.00513172 @+0.03565860)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 2 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.00513172
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00006485
DEBUG: ===========================================
DEBUG: Filter 2 files to 0 files in 0.007854938507080078s
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00009227 @+0.03849816)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.00090194 @+0.03941655)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 2 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.00090194
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00009227
DEBUG: ===========================================
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00005913 @+0.04062867)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.00026751 @+0.04091001)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 2 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.00026751
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00005913
DEBUG: ===========================================
DEBUG: BCFileList.execute.01-search: 0.00325370
DEBUG: BCFileList.execute.02-filter: 0.00785494
DEBUG: BCFileList.execute.03-result: 0.00217199
DEBUG: BCFileList.execute.04-buildStats: 0.00148511
DEBUG: BCFileList.execute.05-sort: 0.00000548
DEBUG: BCFileList.execute.99-global: 0.01508451
DEBUG: ===========================================
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.01538610 @+0.04220343)
DEBUG: >> Start: BCFileModel[0x7f8f5729d940].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729d940].__dataUpdateSort -- (0.00720882 @+0.04965401)
DEBUG: >> Start: BCFileModel[0x7f8f5729db80].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729db80].__dataUpdateSort -- (0.00121999 @+0.05089617)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01 -- (0.08555675 @+0.11235952)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02 -- (0.00003886 @+0.11242580)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99 -- (0.08572698 @+0.11243534)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/grum/Data/Temp/testmd5', False)>]
DEBUG: Found 500 of 500 files in 0.005563497543334961s
DEBUG: - Files: 500
DEBUG: - Directories: 0
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00057912 @+0.03675056)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.14278078 @+0.17955852)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.14278078
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00057912
DEBUG: ===========================================
DEBUG: Filter 500 files to 500 files in 0.144622802734375s
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00009561 @+0.18100595)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.02333617 @+0.20436239)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.02333617
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00009561
DEBUG: ===========================================
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00005960 @+0.20569110)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.01848555 @+0.22419667)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.01848555
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00005960
DEBUG: ===========================================
DEBUG: BCFileList.execute.01-search: 0.00556350
DEBUG: BCFileList.execute.02-filter: 0.14462280
DEBUG: BCFileList.execute.03-result: 0.02474046
DEBUG: BCFileList.execute.04-buildStats: 0.01975489
DEBUG: BCFileList.execute.05-sort: 0.00000739
DEBUG: BCFileList.execute.99-global: 0.19499040
DEBUG: ===========================================
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.19524097 @+0.22555137)
DEBUG: >> Start: BCFileModel[0x7f8f5729d940].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729d940].__dataUpdateSort -- (0.00671434 @+0.25686765)
DEBUG: >> Start: BCFileModel[0x7f8f5729db80].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729db80].__dataUpdateSort -- (0.00304866 @+0.25993586)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01 -- (0.91623616 @+0.94653130)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02 -- (0.00010061 @+0.94665956)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99 -- (0.91646218 @+0.94666839)
```
## Some analysis
- UI creation took 0.68s ***(it's long!)***
`DEBUG: << Stop: BCMainWindow.01.01.init-ui -- (0.68344665 @+0.68351483)`
- Panels initialisation took 0.53s ***(it's long!)***
`DEBUG: << Stop: BCUIController.01.03.__initSettings -- (0.53420448 @+1.27538252)`
- File search+analysis+filter+sort took 0.18s ***(it's fast)***
`DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.18720889 @+1.46670890)`
- Something happen during initialisation step 06 (include *File search+analysis+filter+sort*)
`DEBUG: << Stop: BCUIController.01.06.__initSettings -- (0.87273455 @+2.15220380)`
There 0.68s (2.15220380 - 1.46670890) spent between end of panel udpdate & plugin init ***(it's long!)***
These point need to be analyzed deeper to understand from where came this duration and try to reduce them
Also on my side I already made some improvement in file search process, to reduce number of threads due to cache management that is less efficient in multithreading
Test on 14250 files, 110GB
Load files metadata
#Threads
Without cache initialized
With cache initialized
1 (for next version)
10.44s
3.56s
24 (from current version)
19.67s
6.52s
Load files thumbnails
#Threads
Without cache initialized
With cache initialized
1
1542s
2.61s
14 (for next version - 60% of available threads)
428s
2.70s
24 (from current version)
436s
2.75s
Grum999
3 Likes
Found some improvements:
opened 04:34PM - 05 Oct 22 UTC
enhancement
From KA forum: https://krita-artists.org/t/bulicommander/11612/34?u=grum999
S⦠tarting to look in detail execution time:
- Open window plugin from directory X: ~2.28s
- Change directory to X: ~0.98s
## Some detailed execution time comparison
### Startup
``` text
DEBUG: >> Start: BCMainWindow.01.00.init
DEBUG: >> Start: BCMainWindow.01.01.init-ui
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.99.init
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.01.init-var
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.01.init-var -- (0.00280499 @+0.01607823)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.02.init-ui
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.02.init-ui -- (0.12602472 @+0.14213943)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].01.03.init-misc
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.03.init-misc -- (0.01798463 @+0.16016626)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].01.99.init -- (0.14694500 @+0.16020155)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.99.init
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.01.init-var
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.01.init-var -- (0.00040483 @+0.16159034)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.02.init-ui
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.02.init-ui -- (0.07224846 @+0.23386097)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].01.03.init-misc
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.03.init-misc -- (0.01197386 @+0.24586987)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].01.99.init -- (0.08471298 @+0.24588680)
DEBUG: << Stop: BCMainWindow.01.01.init-ui -- (0.68344665 @+0.68351483)
DEBUG: >> Start: BCMainWindow.01.02.init-var
DEBUG: << Stop: BCMainWindow.01.02.init-var -- (0.02447295 @+0.70802069)
DEBUG: << Stop: BCMainWindow.01.00.init -- (0.70799017 @+0.70803857)
DEBUG: >> Start: BCUIController.01.99.__initSettings
DEBUG: >> Start: BCUIController.01.01.__initSettings
DEBUG: >> Start: BCMainWindow.02.00.initMainView
DEBUG: << Stop: BCMainWindow.02.00.initMainView -- (0.01224232 @+0.74112058)
DEBUG: << Stop: BCUIController.01.01.__initSettings -- (0.01230788 @+0.74114633)
DEBUG: >> Start: BCUIController.01.02.__initSettings
DEBUG: << Stop: BCUIController.01.02.__initSettings -- (0.00000501 @+0.74116278)
DEBUG: >> Start: BCUIController.01.03.__initSettings
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01 -- (0.00000429 @+1.10067368)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02 -- (0.00002956 @+1.10071540)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99 -- (0.00053740 @+1.10072351)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.01
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.01 -- (0.00000691 @+1.21730828)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.02 -- (0.00002718 @+1.21735001)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729df70].filesPath_Changed.01.99 -- (0.00048923 @+1.21735787)
DEBUG: << Stop: BCUIController.01.03.__initSettings -- (0.53420448 @+1.27538252)
DEBUG: >> Start: BCUIController.01.04.__initSettings
DEBUG: << Stop: BCUIController.01.04.__initSettings -- (0.00384974 @+1.27926517)
DEBUG: >> Start: BCUIController.01.05.__initSettings
DEBUG: << Stop: BCUIController.01.05.__initSettings -- (0.00016642 @+1.27945542)
DEBUG: >> Start: BCUIController.01.06.__initSettings
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/grum/Data/Temp/testmd5', False)>]
DEBUG: Found 500 of 500 files in 0.01070857048034668s
DEBUG: - Files: 500
DEBUG: - Directories: 0
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00093722 @+1.30013943)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.12679362 @+1.42696834)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.12679362
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00093722
DEBUG: ===========================================
DEBUG: Filter 500 files to 500 files in 0.1286461353302002s
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00012541 @+1.42807961)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.01892900 @+1.44703436)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.01892900
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00012541
DEBUG: ===========================================
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00005937 @+1.44839334)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.01685643 @+1.46526504)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.01685643
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00005937
DEBUG: ===========================================
DEBUG: BCFileList.execute.01-search: 0.01070857
DEBUG: BCFileList.execute.02-filter: 0.12864614
DEBUG: BCFileList.execute.03-result: 0.02039981
DEBUG: BCFileList.execute.04-buildStats: 0.01811695
DEBUG: BCFileList.execute.05-sort: 0.00000477
DEBUG: BCFileList.execute.99-global: 0.17827249
DEBUG: ===========================================
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.18720889 @+1.46670890)
DEBUG: >> Start: BCFileModel[0x7f8f5729d940].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729d940].__dataUpdateSort -- (0.00320649 @+1.49513841)
DEBUG: >> Start: BCFileModel[0x7f8f5729db80].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729db80].__dataUpdateSort -- (0.00322151 @+1.49837637)
DEBUG: << Stop: BCUIController.01.06.__initSettings -- (0.87273455 @+2.15220380)
DEBUG: >> Start: BCUIController.01.07.__initSettings
DEBUG: << Stop: BCUIController.01.07.__initSettings -- (0.01808476 @+2.17030978)
DEBUG: << Stop: BCUIController.01.99.__initSettings -- (1.44156599 @+2.17032361)
```
### Change directory
```text
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/grum/Data/Temp', False)>]
DEBUG: Found 2 of 2 files in 0.0032536983489990234s
DEBUG: - Files: 0
DEBUG: - Directories: 2
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00006485 @+0.03051114)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.00513172 @+0.03565860)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 2 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.00513172
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00006485
DEBUG: ===========================================
DEBUG: Filter 2 files to 0 files in 0.007854938507080078s
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00009227 @+0.03849816)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.00090194 @+0.03941655)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 2 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.00090194
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00009227
DEBUG: ===========================================
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00005913 @+0.04062867)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.00026751 @+0.04091001)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 2 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.00026751
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00005913
DEBUG: ===========================================
DEBUG: BCFileList.execute.01-search: 0.00325370
DEBUG: BCFileList.execute.02-filter: 0.00785494
DEBUG: BCFileList.execute.03-result: 0.00217199
DEBUG: BCFileList.execute.04-buildStats: 0.00148511
DEBUG: BCFileList.execute.05-sort: 0.00000548
DEBUG: BCFileList.execute.99-global: 0.01508451
DEBUG: ===========================================
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.01538610 @+0.04220343)
DEBUG: >> Start: BCFileModel[0x7f8f5729d940].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729d940].__dataUpdateSort -- (0.00720882 @+0.04965401)
DEBUG: >> Start: BCFileModel[0x7f8f5729db80].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729db80].__dataUpdateSort -- (0.00121999 @+0.05089617)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01 -- (0.08555675 @+0.11235952)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02 -- (0.00003886 @+0.11242580)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99 -- (0.08572698 @+0.11243534)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01
DEBUG: ===========================================
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/grum/Data/Temp/testmd5', False)>]
DEBUG: Found 500 of 500 files in 0.005563497543334961s
DEBUG: - Files: 500
DEBUG: - Directories: 0
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00057912 @+0.03675056)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.14278078 @+0.17955852)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.14278078
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00057912
DEBUG: ===========================================
DEBUG: Filter 500 files to 500 files in 0.144622802734375s
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00009561 @+0.18100595)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.02333617 @+0.20436239)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.02333617
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00009561
DEBUG: ===========================================
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init -- (0.00005960 @+0.20569110)
DEBUG: >> Start: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute
DEBUG: << Stop: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute -- (0.01848555 @+0.22419667)
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Processed 500 items with 2 workers
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Execute: 0.01848555
DEBUG: WorkerPool.{e3b30cda-f0a3-489b-b9e0-0f57ca672c1f}.Init: 0.00005960
DEBUG: ===========================================
DEBUG: BCFileList.execute.01-search: 0.00556350
DEBUG: BCFileList.execute.02-filter: 0.14462280
DEBUG: BCFileList.execute.03-result: 0.02474046
DEBUG: BCFileList.execute.04-buildStats: 0.01975489
DEBUG: BCFileList.execute.05-sort: 0.00000739
DEBUG: BCFileList.execute.99-global: 0.19499040
DEBUG: ===========================================
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.19524097 @+0.22555137)
DEBUG: >> Start: BCFileModel[0x7f8f5729d940].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729d940].__dataUpdateSort -- (0.00671434 @+0.25686765)
DEBUG: >> Start: BCFileModel[0x7f8f5729db80].__dataUpdateSort
DEBUG: << Stop: BCFileModel[0x7f8f5729db80].__dataUpdateSort -- (0.00304866 @+0.25993586)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.01 -- (0.91623616 @+0.94653130)
DEBUG: >> Start: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.02 -- (0.00010061 @+0.94665956)
DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].filesPath_Changed.01.99 -- (0.91646218 @+0.94666839)
```
## Some analysis
- UI creation took 0.68s ***(it's long!)***
`DEBUG: << Stop: BCMainWindow.01.01.init-ui -- (0.68344665 @+0.68351483)`
- Panels initialisation took 0.53s ***(it's long!)***
`DEBUG: << Stop: BCUIController.01.03.__initSettings -- (0.53420448 @+1.27538252)`
- File search+analysis+filter+sort took 0.18s ***(it's fast)***
`DEBUG: << Stop: BCMainViewTab[0x7f8f5729d670].__filesRefresh.01 -- (0.18720889 @+1.46670890)`
- Something happen during initialisation step 06 (include *File search+analysis+filter+sort*)
`DEBUG: << Stop: BCUIController.01.06.__initSettings -- (0.87273455 @+2.15220380)`
There 0.68s (2.15220380 - 1.46670890) spent between end of panel udpdate & plugin init ***(it's long!)***
These point need to be analyzed deeper to understand from where came this duration and try to reduce them
I continue to check what can be improved
Grum999
Hi @tom
Iāve made a version v0.9.1b, not officially released yet but all commits are pushed on github repository
You can download & install zip plugin from github code with Import python plugin from web⦠function
And provide following url
https://github.com/Grum999/BuliCommander/archive/refs/heads/v0.9.1b.zip
From my tests, initialization time has been reduced from 2.17s to 0.85s
Can you tell me if itās better on your side?
If yes Iāll create an official release
Thanks
Grum999
2 Likes
tom
October 9, 2022, 6:00pm
46
Startup on the sketch folder seems to be about 3x faster when I time it myself. Nice job and thanks for your work.
One last thing I noticed, unrelated to performance: It seems like toolbars disable themselves after you configure them.
1 Like
Great
Thanks for your feedback, I never really noticed this until you told me
Can you be more precise about that?
Example, screenshot, or step to reproduce it could help
Thanks
Grum999
tom
October 9, 2022, 6:14pm
48
It seems that as soon as I hit āOkayā in the Settings dialog, regardless of the configuration tab Iām on, the custom toolbar that Iāve created will be set to disabled and have its docked position reset when I re-enable it.
The specific steps I took:
Create a custom toolbar using your plugin, named āCustomā, Icons with no text, with actions of āView as gridā and āView as listā. Hit Okay.
Enter the settings again and hit Okay.
1 Like
tom
October 9, 2022, 6:23pm
49
Oh, it seems like the toolbar state isnāt properly saved until restarting Krita (or BuliCommander?), as it seems like thereās no issue after restarting.
Ok thanks for steps!
Itās not ādisabledā (I was really thinking the toolbar entered in a disabled state)
Itās more āhiddenā
Workaround, in menu Settings > Toolbars you can check again the toolbar
Iāve opened a bug:
opened 06:26PM - 09 Oct 22 UTC
closed 07:41AM - 22 Oct 22 UTC
bug
fixed
From KA froum: https://krita-artists.org/t/bulicommander/11612/48?u=grum999
ā¦
1) Create a custom toolbar using your plugin, named āCustomā, Icons with no text, with actions of āView as gridā and āView as listā. Hit Okay.
- Toolbar is visible
2) Enter the settings again and hit Okay.
- Toolbar is hidden
Workaround:
In menu *Settings > Toolbars* check toolbar again:
<img width="290" alt="image" src="https://user-images.githubusercontent.com/63422799/194773224-76f43e6e-fcbd-4414-822d-71bb472bb95b.png">
It seems a call to settings switch toolbar status to hidden...
Iāll try to fix it tomorrow
Grum999
tom
October 19, 2022, 4:51pm
51
Iāve been using it a lot more with the faster startup times.
However, there are times where, when first opening BuliCommander in a longer Krita session, it seems to take something like ~10 seconds to startup, even though it only takes about a second on a fresh session. The feeling resembles that of the cache clearing itself for some reason, but Iām not too sure.
Also, it would be nice if sorting actions were available for the toolbar and right-click menu, so that it isnāt necessary to switch to list view and click a particular column to change what it sorts by.
It would also be nice if there was an option to hide .. directories, as they can take up some space in grid view at large thumbnail sizes:
Grum999
October 20, 2022, 6:58pm
52
Hi @tom
Thanks for feedback!
I still have to publish v0.9.1 official release, I forgot it
tom:
However, there are times where, when first opening BuliCommander in a longer Krita session, it seems to take something like ~10 seconds to startup, even though it only takes about a second on a fresh session. The feeling resembles that of the cache clearing itself for some reason, but Iām not too sure.
For that, the best thing you can do to help is like previously described :
Activate debug mode
Execute Krita from a console
Send me returned logs when you see thereās an abnormal execution time, with possibility some information about contextā¦
Thatās interesting and useful features, Iāve created requests here
opened 06:57PM - 20 Oct 22 UTC
enhancement
From KA forum: https://krita-artists.org/t/bulicommander/11612/51?u=grum999
I⦠n list view mode, just clikc on list header allows to change sort.
But in grid view mode, there's no header and then, no possibility to change sort; user have to switch back in list view mode, change sort, and switch back to grid view mode
Not ideal
Adding a new sort function available from:
- menu *View > Sort*
- context menu *Sort*
With default sub-menu:
- Basic
- Ascending
- Filename
- File date
- File size
- ... --> One entry per current available header
- Descending
- Filename
- ...
- Advanced
- Open a dialog box with list similar than one used in search tool, allowing to:
- re-order fields & define ascending/descending order
- save/load sort definition (and should be usable from search tool too)
<img width="469" alt="image" src="https://user-images.githubusercontent.com/63422799/197033885-21532aed-9ea5-4e8b-813f-97f8dd8ca006.png">
opened 06:40PM - 20 Oct 22 UTC
enhancement
From KA forum: https://krita-artists.org/t/bulicommander/11612/51?u=grum999
A⦠dd an option to not display parent directory `..` in grid view mode
Also needed for list view mode?
- Same option for both?
- Distinct option for both?
Add option in *settings > navigation*
<img width="678" alt="image" src="https://user-images.githubusercontent.com/63422799/197030698-2196df3f-03b9-4863-96a8-ca98d6a542ad.png">
Add a section "Parent directory"
- List mode: Visible|Hidden _(list view)_
- Grid mode: Visible|Hidden _(list view)_
Canāt say when Iāll be able to find time to implement them but theyāre tracked now
Concerning this one, I didnāt had time to check it
Grum999
Grum999
October 21, 2022, 8:01pm
53
Hi @tom
Fixed it tonight, branch 0.9.1 is up to date on github repository but too tired tonight to create an official relase; Iāll do it this week-end
Grum999
1 Like
Grum999
October 22, 2022, 7:44am
54
Hi
Release v0.9.1b is available
[2022-10-22] Version 0.9.1b
Improvements:
ā Main interface - Reduce initialization time & folder analysis
Bug fix:
ā Main interface - Toolbars are hidden
You can read the full detailed release content directly on github repository.
Itās a minor release: for screenshots and functionalities description read v0.9.0b release note and main BuliCommander page.
Grum999
tom
October 22, 2022, 8:32am
55
Thanks for the patch.
Hereās one such case:
DEBUG: BCFileList.execute
DEBUG: ...........................................
DEBUG: Search in paths: [<BCFileListPath('/home/name/Pictures/Art/sketches', False)>]
DEBUG: Found 550 of 742 files in 0.14066338539123535s
DEBUG: - Files: 550
DEBUG: - Directories: 0
DEBUG: Filter 550 files to 550 files in 12.372369050979614s
DEBUG: BCFileList.execute.01-search: 0.14066339
DEBUG: BCFileList.execute.02-filter: 12.37236905
DEBUG: BCFileList.execute.03-result: 0.03150082
DEBUG: BCFileList.execute.04-buildStats: 0.01793504
DEBUG: BCFileList.execute.05-sort: 0.00000906
DEBUG: BCFileList.execute.99-global: 12.56303215
DEBUG: ===========================================
This is after spending 30-50 minutes on a sketch, saving once, closing the document, then clicking āOpen Fileā.
Man I love your plugins, they should fit for official updates in my opinion! Unfortunately Iām experiencing this bugā¦
Is it from your plugin or did I install it incorrectly? Btw sorry if Iām answering two years late
Grum999
November 4, 2024, 8:55pm
57
Hi
Iām currently over flooded by diapers & others babies things, no time for anything even no time to sleep
But I took a quick look, it seems on my Windows installation thereās an old WinRAR which wasnāt properly unsinstalled (still present in registry but no executablesā¦) then I didnāt got the error.
If WinRAR is completely removed, the error occurs; same problem with 7Zip
Quick workaround, Iāll try to manage a fix release asapā¦
Ensure to have last plugin version (Release v0.9.2b Ā· Grum999/BuliCommander Ā· GitHub )
In file C:\Users\Admin\AppData\Roaming\krita\pykrita\bulicommander\pktk\modules\uncompress.py (you really use āAdminā user ???) from line 40 replace methods getUnrar() and get7z() with the following code:
def getUnrar():
"""return unrar executable full path name as string, None if not found"""
registryKey = None
value = None
try:
# When installed, WinRAR create this registry key where value "path" can be found
registryKey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe", 0, winreg.KEY_READ)
if registryKey:
value, regtype = winreg.QueryValueEx(registryKey, "Path")
except:
value=None
if registryKey:
winreg.CloseKey(registryKey)
if not value is None:
value=os.path.join(value, "unrar.exe")
if os.path.isfile(value):
return value
return None
def get7z():
"""return 7z executable full path name as string, None if not found"""
registryKey = None
value = None
try:
# When installed, WinRAR create this registry key where value "path" can be found
registryKey = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\App Paths\7zFM.exe", 0, winreg.KEY_READ)
if registryKey:
value, regtype = winreg.QueryValueEx(registryKey, "Path")
except:
value=None
if registryKey:
winreg.CloseKey(registryKey)
if not value is None:
value=os.path.join(value, "7z.exe")
if os.path.isfile(value):
return value
return None
Take care about spaces!!
(the indentation in provided code here are normally OK)
Code should like this at the end:
Then once file is modified, start Krita, and plugin should be ok
Grum999
3 Likes
No problem, life eventually get us all! I followed what you did and it worked, thank you for the help! And yes I do use that username, cuz I had no idea what to name my user in my new windows installation @.@
Birath
July 19, 2025, 10:14am
59
Anyone got this to work with windows 10? (And with the new updates on krita?)
From what i understand this is mainly tested in Linux, and an older version of Krita?
I have tried to get it to work on my windows 10 w/latest krita, the installation is fine, but when I look in the pyton script-box inside āconfigure krita menueā I can see it ātaggedā but its not white-tagged as the other scripts, its just gray, and non responsive. I canāt even uncheck it.
Well .. yeah, as you might have understood, its not active or working at all.
The whole concept/idea sounds soo frikking great and useful thou, but I am no pyton-script coder at all so.. I think some one else was talking abouth having the same idea, building a similar manager i meen. donāt recall who it was thou
Anyways, the idea is awsome, to bad I canāt make it work for.me .
Have a splendid day!!
/carl
Edit: I think k it was @EyeOdin that had the same thought of building this kinda plug. As a super novis, or as a total noob in this pyton/scripting-thing i presume this kinda plugin, to be working on windows 10 or greater and with latest Krita, is quite a task to build. Anyways have a great day everyone!
1 Like
Here @Grum999 describes how you could repair the plugin yourself.
But if you donāt like fiddling around in code, you can get the fixed version out of my cloud:
Stand for privacy, switch to Internxt. Internxt's open-source cloud storage services, Internxt Drive, Send, and more, protect your right to privacy.
Alternative download location:
You install plugins in Krita by clicking on āToolsā >> āScriptsā >> āImport Plugin from Fileā and in the dialog that opens, select the file you just downloaded, confirm the selection, then confirm Kritaās message that the plugin is installed and restart Krita. Then you have to search in Krita under āāSettingsāā >> āāConfigure Kritaāā >> āāPython Plugin Managerāā for the plugin you just installed and activate it by checking the box in front of it. Then confirm with āOKā and restart Krita to be able to use the plugin.
Michelist
Add/Edit: Added an alternative download location.
2 Likes