小编Wam*_*Wam的帖子

git上的每个目录权限

我们正在考虑将我们的VCS转换为git或subversion.我更喜欢切换到git,但是subversion有一个很好的功能,我没有在git中看到:每个目录访问控制.

我们目前在cvs中有project1,project2存储库,具有不同的权限.我们想拥有一个单独的存储库,其中两个目录project1和project2具有不同的权限.是否可以使用git,因为它与svn一样?

我知道子模块,它可能实现这一点,但我们的目标是能够通过project1和project2中的更改进行一次提交.

我们主要有IP问题,并希望确保有些人无法读取(而不仅仅是推送)某些目录.那么,是应对挑战还是我必须使用git-svn?

谢谢

svn git git-svn

15
推荐指数
1
解决办法
8309
查看次数

比较一个字节数组与其他字节数组的最快方法?

我有一个具有以下结构的循环:

  • 计算长度为k的字节数组(某处慢)
  • 查找计算出的字节数组是否与我拥有的N个字节数组列表中的任何一个匹配.
  • 重复

我的循环被多次调用(它是我程序的主循环),我希望第二步尽可能快.

第二步的天真实现将使用memcmp:

char* calc;
char** list;
int k, n, i;
for(i = 0; i < n; i++) {
  if (!memcmp(calc, list[i], k)) {
    printf("Matches array %d", i);
  }
}
Run Code Online (Sandbox Code Playgroud)

你能想到更快的方式吗?一些东西 :

  • 我的列表在我的程序开始时修复,任何预计算就可以了.
  • 假设k很小(<= 64),N是中等(约100-1000).
  • 性能是这里的目标,可移植性是一个非问题.内在/内联组装很好,只要它更快.

以下是我的一些想法:

  • 鉴于k <64并且我在x86_64上,我可以将查找数组排序为长数组,并对其进行二进制搜索.O(日志(N)).即使k很大,我也可以对查找数组进行排序并使用memcmp.
  • 由于k较小,再次,我可以(用最简单的是折叠我在阵列本身计算8/16/32位校验xor)我所有的查找数组,并使用内置PCMPGT如何比较两个以上号码在平行下?.我知道这里有SSE4.2.

你认为在这里进行矢量化/ sse是一个好主意吗?如果是,您认为最好的方法是什么?我想说这不是早期优化,但性能在这里至关重要,我需要外循环尽可能快.谢谢

EDIT1:看起来http://schani.wordpress.com/tag/c-optimization-linear-binary-search-sse2-simd/提供了一些有趣的想法.列表中的二进制搜索long似乎要走了......

c algorithm assembly sse x86-64

8
推荐指数
1
解决办法
1599
查看次数

在C#中创建一个子数组引用(使用不安全?)

我正在重构我们目前使用的库,我遇到了以下问题.

我们曾经有过以下的东西:

class Blah
{
    float[][] data;
    public float[] GetDataReference(int index)
    {
        return data[index];
    }
}
Run Code Online (Sandbox Code Playgroud)

由于各种原因,我已经用1维数组版本替换了这个锯齿状阵列版本,连接内部数组.我的问题是:我怎样才能返回对子数组的引用data

class Blah
{
    float[] data;
    int rows;

    public float[] GetDataReference(int index)
    {
        // Return a reference data from offset i to offset j;
    }
}
Run Code Online (Sandbox Code Playgroud)

我认为不安全和指针的东西可能有用,是否可行?

c# arrays unsafe multidimensional-array

5
推荐指数
1
解决办法
3903
查看次数

c#中定义较少的泛型?

有没有办法使用泛型类的集合,而不提供底层类型?我们来解释一下:

这是我想要的:

class TimeSerie<TValue> {
enter code here
}

List<TimeSerie<?>> blah;
Run Code Online (Sandbox Code Playgroud)

这是我到目前为止所要做的:

class TimeSerie {}
class TypedTimeSerie<TValue> : TimeSerie {}

List<TimeSerie> blah;
Run Code Online (Sandbox Code Playgroud)

那么,任何方式使用漂亮的第一个解决方案?(虽然我想在尝试施放时会引发问题,例如循环...)

c# generics collections

3
推荐指数
1
解决办法
235
查看次数