比如我想查找.net类库中所有需要一个Stream作为参数的函数,以及所有返回一个Stream的函数。有没有办法实现这一目标?
我试着在python中编写一个quicksort(用于学习算法),但我发现它比本机排序慢了10倍.这是结果:
16384 numbers:
native: 5.556 ms
quicksort: 96.412 ms
65536 numbers:
native: 27.190 ms
quicksort: 436.110 ms
262144 numbers:
native: 151.820 ms
quicksort: 1975.943 ms
1048576 numbers:
native: 792.091 ms
quicksort: 9097.085 ms
4194304 numbers:
native: 3979.032 ms
quicksort: 39106.887 ms
Run Code Online (Sandbox Code Playgroud)
这是否意味着我的实施有问题?或者那没关系,因为本机排序使用了大量的低级优化?
尽管如此,我认为将100万个数字分类为近10个是不可接受的,尽管我只是为了学习而不是实际应用而编写它.我的电脑很快.这是我的代码:
def quicksort(lst):
quicksortinner(lst,0,len(lst)-1)
def quicksortinner(lst,start,end):
if start>=end:
return
j=partition(lst,start,end)
quicksortinner(lst,start,j-1)
quicksortinner(lst,j+1,end)
def partition(lst,start,end):
pivotindex=random.randrange(start,end+1)
swap(lst,pivotindex,end)
pivot=lst[end]
i,j=start,end-1
while True:
while lst[i]<=pivot and i<=end-1:
i+=1
while lst[j]>=pivot and j>=start:
j-=1
if i>=j:
break
swap(lst,i,j)
swap(lst,i,end)
return i
def …Run Code Online (Sandbox Code Playgroud) 我的索引有一个包含可变长度随机id的字符串字段.显然不应该分析它.但我对弹性搜索知之甚少,尤其是在创建索引时.今天我尝试了很多根据id的长度过滤文档,最后我得到了这个groovy脚本:
doc['myfield'].values.size()
Run Code Online (Sandbox Code Playgroud)
要么
doc['myfield'].value.size()
Run Code Online (Sandbox Code Playgroud)
两者都返回神秘的数字,我认为这是因为该领域得到了分析.如果确实如此,有没有办法获得原始长度或修复问题,而无需重建整个索引?