BuliCommander

Hi @tom

Something you can do on your side (as you are on Linux):

  1. Exit Krita if opened
  2. Edit file ~/.local/share/krita/pykrita/bulicommander/bc/bcfile.py
  3. Uncomment the last line of file to have this:
    Debug.setEnabled(True)
    
  4. Open a terminal and execute from command line (it’s import to get output information!)
  5. Open BuliCommander
    You should get something like this in terminal output:
    DEBUG: ===========================================
    DEBUG: BCFileList.execute
    DEBUG: ...........................................
    DEBUG: Search in paths: [<BCFileListPath('/home/grum/Temporaire/TempKrita/testMisc/testmd5', False)>]
    DEBUG: Found 500 of 500 files in 0.002569913864135742s
    DEBUG: - Files: 500
    DEBUG: - Directories: 0
    DEBUG: Filter 500 files to 500 files in 0.3373551368713379s
    DEBUG: BCFileList.execute.99-global: 0.4158
    DEBUG: BCFileList.execute.01-search: 0.0026
    DEBUG: BCFileList.execute.02-filter: 0.3374
    DEBUG: BCFileList.execute.03-result: 0.0369
    DEBUG: BCFileList.execute.04-buildStats: 0.0387
    DEBUG: BCFileList.execute.05-sort: 0.0000
    DEBUG: ===========================================
    
    DEBUG: ===========================================
    DEBUG: BCFileList.execute
    DEBUG: ...........................................
    DEBUG: Search in paths: [<BCFileListPath('/home/grum/Data/Temp/testmd5', False)>]
    DEBUG: Found 500 of 500 files in 0.002535104751586914s
    DEBUG: - Files: 500
    DEBUG: - Directories: 0
    DEBUG: Filter 500 files to 500 files in 0.3148353099822998s
    DEBUG: BCFileList.execute.99-global: 0.3918
    DEBUG: BCFileList.execute.01-search: 0.0025
    DEBUG: BCFileList.execute.02-filter: 0.3148
    DEBUG: BCFileList.execute.03-result: 0.0341
    DEBUG: BCFileList.execute.04-buildStats: 0.0400
    DEBUG: BCFileList.execute.05-sort: 0.0000
    DEBUG: ===========================================
    

Go up from directory and go in again, just to got a comparison startup/not startup.

I think problem is not in this part of plugin (searching & analyzing files) but your stats would confirm me this ; I’m trying to determinate where to put stopwatches especially on startup to get a more precise idea of what happen

Also, doing some tests I saw that since I’ve implemented metadata cache, even if it’s quite faster than before cache implementation, if I reduce multithreading it’s now faster than before :thinking: :upside_down_face:
I’ll do some more tests for that to determinate when activate/deactivate multithreading…

Grum999