在一个小项目的开发过程中,我一直在Windows和Ubuntu上使用Git,经常在两者之间来回翻转.问题是Git Bash一直变慢.
当我说慢时,我的意思是跑步cd需要8到25秒,运行git命令需要5-20秒,ls有时可能需要30秒.毋庸置疑,这并不好玩,更不用说非生产性了.我知道Git在Windows上比较慢,但这太荒谬了.
对我来说暂时工作的一个解决方案是禁用我的网络连接(如本答案所示),启动Git Bash,然后重新连接.有时它会在这样做之后继续快速运行数天,但性能总是最终会降低.我已经在msysgit讨论组,Stack Overflow,msysgit问题列表等中打开和关闭了几个星期,但我还没有找到有效的解决方案.
到目前为止,我已经尝试过:
git gc我确实读到有几个人成功禁用Bash完成,但理想情况下我想保持活跃.msysgit的版本是1.7.3.1-preview20101002,操作系统是Windows 7 x64.可以预见,在Linux上运行相同的东西是快速的.我会专门使用Linux,但我也需要在Windows中运行东西(某些应用程序,测试等).
有没有人遇到类似的问题?如果是这样,那么潜在的问题是什么?解决方案是什么(如果有的话)?
这超出了Git存储库,但仅供参考,我一直使用Git的存储库非常小:最多4-50个文件.
我正在开发一个小型的网络游戏原型,它将使用UDP在局域网上播放.为了发现网络上的其他计算机,我一直在调查广播.但是,我仍然不确定有关UDP套接字设置/使用的一些细节(网络新手).我在游戏开始后找到了一个很好的库,但首先,必须发现所有运行游戏的计算机,并且必须选择一个作为服务器.所以我的问题如下:
bind()吗?据我所知,connect()不是必需的,也不是send()/recv(),因为它们是用于TCP(sendto()/recvfrom()作为替代品).我正在开发一个小型网络游戏(仅限局域网),其中一台计算机充当服务器,而所有其他计算机(包括在同一台计算机上运行的实际游戏)充当客户端.从本质上讲,服务器对用户是透明的,但存在是为了简化状态管理.我现在的基本概念是,每个玩家的计算机都会通过广播说"嘿,我想玩"并保留网络中其他玩家的列表.在运行游戏的每个玩家表明他们已准备就绪后,选择一台计算机作为服务器,其余计算机默认为客户端.
当选择LAN上的哪台计算机用作服务器时,是否有任何既定方法可以选择一台并通知其他计算机?
我一直在修补简单地让所有玩家的计算机选择一个随机数并且具有最低(或最高,无关紧要)的那个是服务器的基本想法(为同一个计算机重新生成随机数) ).每台计算机都会收到其他计算机的"滚动"数,并可以确定哪个是服务器,之后它可以连接到它.这似乎很粗糙,但我不确定它是否重要,因为所有的计算机都会在几英尺之内的物理上位于同一个网络上.这是否能充分发挥作用还是有更好的方法?