cygwin慢速文件打开

cygwin慢速文件打开,cygwin,Cygwin,我的应用程序使用fopen打开许多文件。而在linux中,打开和读取数千个文件甚至不需要一秒钟;在cygwin中,需要5秒以上的时间 我认为这是因为cygwin DLL中的路径转换功能。”“打开”功能要快一点。如果我使用-mno-cygwin,它会变得非常快,但我不能使用它 有没有一种简单的方法可以让cygwin DLL只打开文件;没有任何linux-windows转换?这取决于系统在Cygwin环境中的安装方式 $ mount C:/cygwin/bin on /usr/bin type nt

我的应用程序使用fopen打开许多文件。而在linux中,打开和读取数千个文件甚至不需要一秒钟;在cygwin中,需要5秒以上的时间

我认为这是因为cygwin DLL中的路径转换功能。”“打开”功能要快一点。如果我使用-mno-cygwin,它会变得非常快,但我不能使用它


有没有一种简单的方法可以让cygwin DLL只打开文件;没有任何linux-windows转换?

这取决于系统在Cygwin环境中的安装方式

$ mount
C:/cygwin/bin on /usr/bin type ntfs (binary,auto)
C:/cygwin/lib on /usr/lib type ntfs (binary,auto)
C:/cygwin on / type ntfs (binary,auto)
C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
D: on /cygdrive/d type iso9660 (binary,posix=0,user,noumount,auto)
装载选项“binary”使从卷读取的文件不会执行
CRLF
LF
转换。这是默认设置

要加速Cygwin提示符,可以执行以下操作:

  • 将以下行添加到
    ~/.bashrc
  • 断开网络驱动器的连接

  • 禁用您的防病毒软件,或者从扫描中排除Cygwin的文件夹

  • 彻底的防病毒程序在程序打开文件时扫描文件中的恶意软件,这意味着如果您的脚本打开数千个文件,它将超时工作

  • 运行autotools
    配置
    脚本时,请使用选项
    --cache file=“$HOME/.config.cache”
  • 这将创建一个保存预记录的配置发现的文件,其中大部分可在软件构建之间使用。(在使用Linux时,这也是一个好主意)

    由于shell似乎是Cygwin系统的瓶颈,因此依赖于启动大量进程的大型脚本将花费很长时间,这将减少需要启动的进程数量

  • 设置Cygwin的
    sshd
    ,并停止使用Windows命令提示符以支持PuTTY
  • PuTTY对更改屏幕上的文本响应更好,因为它是为*NIX更成熟的CLI界面而构建的。

    还有puttycyg:它允许您将PuTTY与Cygterm一起使用
    # eliminate long Windows pathnames from the PATH
    export PATH='/bin:/usr/bin:/usr/local/bin'
    
    # check the hash before searching the PATH directories
    shopt -s checkhash
    
    # do not search the path when .-sourcing a file
    shopt -u sourcepath