【问题标题】:Windows shell vs WSL2 Typescript diagnostics parse timeWindows shell vs WSL2 Typescript 诊断解析时间
【发布时间】:2021-02-10 15:27:43
【问题描述】:

在同一个项目下运行同一个命令时,谁能解释一下Windows shell和WSL2在同一个系统下的解析时间差异?

如您所见,文件、行等方面也存在一些差异。有什么方法可以加快 WSL2 的解析时间?

tsc -project ./tsconfig.json --diagnostics

Windows 10 外壳(tsc 版本 3.1.2)

Files:          139
Lines:        35528
Nodes:       150245
Identifiers:  49306
Symbols:      38212
Types:         2460
I/O read:     0.05s
I/O write:    0.01s
Parse time:   0.74s
Bind time:    0.13s
Check time:   0.48s
Emit time:    0.13s
Total time:   1.48s

同一系统下的WSL2 Ubuntu 18 LTS(tsc版本4.1.4)

Files:             175
Lines:           39622
Nodes:          161997
Identifiers:     56416
Symbols:         40823
Types:            2795
Instantiations:  12267
Memory used:    76663K
I/O read:        1.13s
I/O write:       0.16s
Parse time:     14.45s
Bind time:       0.36s
Check time:      0.39s
Emit time:       0.32s
Total time:     15.52s

【问题讨论】:

    标签: javascript node.js typescript tsc wsl-2


    【解决方案1】:

    这很可能是由于 Windows 驱动器的 WSL2 中文件性能非常差(/mnt 下的所有内容)。在此处查看 WSL2 的错误报告:https://github.com/microsoft/WSL/issues/4197

    可能有一些解决方法,如果您需要在您的计算机上从 Linux 构建,对我来说主要的解决方法是使用 WSL1。

    【讨论】:

    • 谢谢,我在使用 wsl1 和 docker 时遇到了一些问题,所以我决定继续使用 wsl2。我想我无能为力,对吧?
    • 您应该能够使用本地 Linux 分区,其中您有另一个存储库克隆,这应该可以避免这个问题。
    • 谢谢!目前这对我来说不是一个可行的解决方案。所以,我尝试了另一种情况。我尝试的方案是在 WSL2 下运行服务器(使用 SSL),并且在本机 Windows 中仅运行一台服务器(用于开发目的)以加快速度。在使用 127.0.0.1:3001 时,我在 [::1]:3001 中得到“连接被拒绝”,它可以工作。 127.0.0.1 和 [::1] 都指向我主机文件下的假本地域 example.com。不幸的是,在 ipv6 的情况下,我在我的 win 服务器下收到错误“仅支持绝对 URL”。尝试使用假域名 example.com:3001 我再次得到“连接被拒绝”。有什么建议吗?
    • 好的解决了。仅调用 ::1:3001 (不带括号)失败,但使用 [::1]:3001 调用有效。主要问题仍然存在。为什么使用 ipv4 127.0.0.1:3001 失败但使用 [::1] 工作?他们都是本地主机。我的 Windows 服务器将 localhost 解析为 127.0.0.1
    • WSL 中的 localhost 似乎存在一些问题。我不确定你看到的是不是github.com/microsoft/WSL/issues/4851,可能是
    猜你喜欢
    • 2018-03-23
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多