microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
161.72k stars 28.43k forks source link

Problem comparing files #221620

Open AgainPsychoX opened 1 month ago

AgainPsychoX commented 1 month ago

Type: Performance Issue

I wanted to compare two large files, it didn't work (might been too large/complex?). I also tried switching to non-advanced diff algorithm (diffEditor.diffAlgorithm setting). It also didn't work (even tho I have unlimited time set and files are below 50 MB).

Problem now is, even tho I closed the files, it still does seem like it's using CPU. Restarting the editor of course helps, but it's weird thing to be.

VS Code version: Code 1.91.1 (f1e16e1e6214d7c44d078b1f0607b2388f29d729, 2024-07-09T22:06:49.809Z) OS version: Windows_NT x64 10.0.19045 Modes:

System Info |Item|Value| |---|---| |CPUs|Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz (12 x 2208)| |GPU Status|2d_canvas: enabled
canvas_oop_rasterization: enabled_on
direct_rendering_display_compositor: disabled_off_ok
gpu_compositing: enabled
multiple_raster_threads: enabled_on
opengl: enabled_on
rasterization: enabled
raw_draw: disabled_off_ok
skia_graphite: disabled_off
video_decode: enabled
video_encode: enabled
vulkan: disabled_off
webgl: enabled
webgl2: enabled
webgpu: enabled| |Load (avg)|undefined| |Memory (System)|15.85GB (6.12GB free)| |Process Argv|--crash-reporter-id 5ed677a1-ca62-442b-ab0a-0140314bf2c5| |Screen Reader|no| |VM|0%|
Process Info ``` CPU % Mem MB PID Process 1 131 22624 code main 8 349 6588 window [1] (Untitled-1 - TestGDBStubForESP8266 - Visual Studio Code) 0 26 16372 crashpad-handler 0 177 16608 gpu-process 0 290 17980 extensionHost [1] 0 87 1296 "C:\Program Files\Microsoft VS Code\Code.exe" "c:\Program Files\Microsoft VS Code\resources\app\extensions\json-language-features\server\dist\node\jsonServerMain" --node-ipc --clientProcessId=17980 0 94 2400 electron-nodejs (tailwindServer.js ) 0 25 3332 c:\Users\PsychoX\.vscode\extensions\ms-vscode.cpptools-1.20.5-win32-x64\bin\cpptools.exe 0 4 11892 "c:\Users\PsychoX\.vscode\extensions\ms-vscode.cpptools-1.20.5-win32-x64\bin\cpptools.exe" 0 11 13020 C:\WINDOWS\system32\conhost.exe 0x4 0 110 14524 "C:\Program Files\Microsoft VS Code\Code.exe" c:\Users\PsychoX\.vscode\extensions\streetsidesoftware.code-spell-checker-3.0.1\packages\_server\dist\main.cjs --node-ipc --clientProcessId=17980 0 99 15764 "C:\Program Files\Microsoft VS Code\Code.exe" "c:\Program Files\Microsoft VS Code\resources\app\extensions\markdown-language-features\server\dist\node\workerMain" --node-ipc --clientProcessId=17980 0 83 17544 powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -NoLogo -NoExit -Command - 0 8 6316 C:\WINDOWS\system32\conhost.exe 0x4 0 49 20252 D:\Users\PsychoX\.vscode\extensions\codeium.codeium-1.8.80\dist\ea9a89028334feda7d7ab8900d5f1d58e2f7c361\language_server_windows_x64.exe --api_server_url https://server.codeium.com --manager_dir C:\Users\PsychoX\AppData\Local\Temp\f87031e8-403f-49f6-93fa-43a6c5926d64\codeium\manager --enable_chat_web_server --enable_lsp --inference_api_server_url https://inference.codeium.com --database_dir C:\Users\PsychoX\.codeium\database\9c0694567290725d9dcba14ade58e297 --enable_index_service --enable_local_search --search_max_workspace_file_count 5000 --use_quantized_faiss_index --indexed_files_retention_period_days 30 --workspace_id file_d_3A_Projects_2Bembedded_TestGDBStubForESP8266 --sentry_telemetry 0 11 16788 C:\WINDOWS\system32\conhost.exe 0x4 0 205 23916 D:\Users\PsychoX\.vscode\extensions\codeium.codeium-1.8.80\dist\ea9a89028334feda7d7ab8900d5f1d58e2f7c361\language_server_windows_x64.exe --api_server_url https://server.codeium.com --manager_dir C:\Users\PsychoX\AppData\Local\Temp\f87031e8-403f-49f6-93fa-43a6c5926d64\codeium\manager --enable_chat_web_server --enable_lsp --inference_api_server_url https://inference.codeium.com --database_dir C:\Users\PsychoX\.codeium\database\9c0694567290725d9dcba14ade58e297 --enable_index_service --enable_local_search --search_max_workspace_file_count 5000 --use_quantized_faiss_index --indexed_files_retention_period_days 30 --workspace_id file_d_3A_Projects_2Bembedded_TestGDBStubForESP8266 --sentry_telemetry --run_child --limit_go_max_procs 4 --random_port --random_port_dir=C:\Users\PsychoX\AppData\Local\Temp\f87031e8-403f-49f6-93fa-43a6c5926d64\codeium\manager/child_random_port_1720851965796304600_534689992993680004 --manager_lock_file=C:\Users\PsychoX\AppData\Local\Temp\f87031e8-403f-49f6-93fa-43a6c5926d64\codeium\manager/locks/manager.lock --child_lock_file C:\Users\PsychoX\AppData\Local\Temp\f87031e8-403f-49f6-93fa-43a6c5926d64\codeium\manager/locks/child_lock_1720851965797082300_5104109430638568446 0 95 19252 ptyHost 0 96 14644 "C:\Program Files\PowerShell\7\pwsh.exe" -noexit -command "try { . \"c:\Program Files\Microsoft VS Code\resources\app\out\vs\workbench\contrib\terminal\browser\media\shellIntegration.ps1\" } catch {}" 0 7 23212 conpty-agent 1 109 22068 window [3] (Issue Reporter) 0 127 22876 shared-process 0 83 24124 fileWatcher [1] 0 40 24148 utility-network-service ```
Workspace Info ``` | Window (Untitled-1 - TestGDBStubForESP8266 - Visual Studio Code) | Folder (TestGDBStubForESP8266): 121 files | File types: o(85) json(6) a(2) log(2) gitignore(1) dblite(1) bin(1) | elf(1) sha1(1) ld(1) | Conf files: launch.json(1) settings.json(1) | Launch Configs: platformio-debug(3); ```
Extensions (39) Extension|Author (truncated)|Version ---|---|--- vscode-css-formatter|aes|1.0.2 vscode-tailwindcss|bra|0.12.5 codeium|Cod|1.8.80 vscode-devtools-for-chrome|cod|0.0.7 EditorConfig|Edi|0.16.4 json-tools|eri|1.0.2 rest-client|hum|0.25.1 vscode-ansi|ili|1.1.7 reg|ion|1.1.0 vscode-env|Iro|0.1.0 vscord|Leo|5.2.12 vscode-autohotkey-plus-plus|mar|5.0.5 git-graph|mhu|1.30.0 syntax-mcfunction|Min|1.0.0 debugpy|ms-|2024.8.0 isort|ms-|2023.10.1 python|ms-|2024.10.0 vscode-pylance|ms-|2024.7.1 cpptools|ms-|1.20.5 hexeditor|ms-|1.10.0 live-server|ms-|0.4.14 powershell|ms-|2024.2.2 vscode-paste-image|mus|1.0.4 material-icon-theme|PKi|5.4.2 platformio-ide|pla|3.3.3 vscode-css-peek|pra|4.4.1 sqlite-viewer|qwt|0.5.10 vscode-xml|red|0.27.1 nas-vscode|rig|0.0.1 glassit|s-n|0.2.6 code-spell-checker|str|3.0.1 code-spell-checker-polish|str|2.1.2 pdf|tom|1.2.2 cursor-align|yo1|1.1.2 pretty-ts-errors|Yoa|0.5.4 markdown-pdf|yza|1.5.0 markdown-all-in-one|yzh|3.6.2 json|Zai|2.0.2 html-css-class-completion|Zig|1.20.0 (1 theme extensions excluded)
A/B Experiments ``` vsliv368:30146709 vspor879:30202332 vspor708:30202333 vspor363:30204092 vswsl492cf:30256860 vscod805cf:30301675 binariesv615:30325510 vsaa593:30376534 py29gd2263:31024239 c4g48928:30535728 azure-dev_surveyone:30548225 a9j8j154:30646983 962ge761:30959799 pythongtdpath:30769146 welcomedialog:30910333 pythonnoceb:30805159 asynctok:30898717 pythonregdiag2:30936856 pythonmypyd1:30879173 2e7ec940:31000449 pythontbext0:30879054 accentitlementst:30995554 dsvsc016:30899300 dsvsc017:30899301 dsvsc018:30899302 cppperfnew:31000557 dsvsc020:30976470 pythonait:31006305 chatpanelt:31048053 dsvsc021:30996838 da93g388:31013173 pythoncenvpt:31062603 a69g1124:31058053 dvdeprecation:31068756 dwnewjupyter:31046869 newcmakeconfigv2:31071590 impr_priority:31094925 pythonrstrctxt:31093869 ```
AgainPsychoX commented 1 month ago

The files I had problem with:

OutsideWorkingNoTimestamps.CSV

InsideNotWorkingNoTimestamps.CSV

It's not really important issue, and workaround (restart the VS Code) is simple. Notabene, it's a bit weird the files causes such trouble to be diffed - Notepad++ with Compare plugin takes like 2 minutes but it works.

AgainPsychoX commented 1 month ago

Actually, what is going on with comparing files? The files aren't that complex... I stripped timestamps and (random) PID processes from the files and I still can't open them in VS Code compare, while Notepad++ works just fine.


I did download some example small diff files and it also gets stuck: image

After restart it works on the small files, but the actual ones I need still cause this hang up.


Settings the diff timeout doesn't help either, stuck for like 5 minutes: image


I disabled the extensions too:

image

After sometime it actually worked:

image

But it's obvious it shouldn't take so long!

AgainPsychoX commented 1 month ago

One more thing I noticed, setting the timeout lower... makes it timeout faster but also work? image

Or is it cached somehow and I am just misunderstanding it... I don't know. For now I will use Notepad++. I feel like I did my "due diligence", if anyone has suggestion or need for more info please ask. Cheers.