小编Mik*_*vey的帖子

在C#中,如何可靠地杀死进程树

在C#中,我们使用以下代码来终止进程树.有时它可以工作,有时它不工作,可能与Windows 7和/或64位有关.

它找到给定进程的子进程的方法是调用GetProcesses以获取系统中的所有进程,然后调用NtQueryInformationProcess以查找父进程为给定进程的每个进程.它以递归方式执行此操作,以便走树.

NtQueryInformationProcess不应该使用在线文档说.相反,有一些东西叫做EnumProcesses,但我找不到C#中的任何例子,只有其他语言.

什么是在C#中杀死进程树的可靠方法?

    public static void TerminateProcessTree(Process process)
    {
        IntPtr processHandle = process.Handle;
        uint processId = (uint)process.Id;

        // Retrieve all processes on the system
        Process[] processes = Process.GetProcesses();
        foreach (Process proc in processes)
        {
            // Get some basic information about the process
            PROCESS_BASIC_INFORMATION procInfo = new PROCESS_BASIC_INFORMATION();
            try
            {
                uint bytesWritten;
                Win32Api.NtQueryInformationProcess(proc.Handle, 0, ref procInfo,
                    (uint)Marshal.SizeOf(procInfo), out bytesWritten); // == 0 is OK

                // Is it a child process of the …
Run Code Online (Sandbox Code Playgroud)

c# process

4
推荐指数
1
解决办法
3747
查看次数

Java JVM / .NET CLR 的代码生成

我在大学学习编译器学科,我们必须为我们发明的语言生成我们想要的任何平台的代码。我认为最简单的情况是为 Java JVM 或 .NET CLR 生成代码。有什么建议可以选择,以及哪些 API 可以帮助我完成这项任务?我已经完成了所有语义分析,只需要为给定程序生成代码。

谢谢

clr jvm code-generation compilation

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

(ptr + i) - > Func()和&ptr [i] .Func()之间有什么区别吗?

或者两者都是平等的?ptr是一个指向结构数组的指针.

UPD:谢谢大家的回复.对不起,我拼错了语法.我试图来比较是(ptr + i)->Func()VS (&ptr[i])->Func().我与&运算符混淆,因为它应该返回变量的地址.是否会导致再次采取该地址的操作?

c++ performance hpc

2
推荐指数
1
解决办法
240
查看次数

熊猫 - 极其缓慢

我想在日期对象上做一个df.apply,但它太慢了!

我的修剪输出给....

 ncalls  tottime  percall  cumtime  percall filename:lineno(function)
  1999   14.563    0.007   14.563    0.007 {pandas.tslib.array_to_timedelta64}
 13998    0.103    0.000   15.221    0.001 series.py:126(__init__)
  9999    0.093    0.000    0.093    0.000 {method 'reduce' of 'numpy.ufunc' objects}
272012    0.093    0.000    0.125    0.000 {isinstance}
  5997    0.089    0.000    0.196    0.000 common.py:199(_isnull_ndarraylike)
Run Code Online (Sandbox Code Playgroud)

所以基本上它是一个2000长度阵列的14秒.我的实际数组大小> 100,000,转换为运行时间> 15分钟或更长.

调用这个函数"pandas.tslib.array_to_timedelta64"这是一个瓶颈,这是熊猫的愚蠢行为吗?我真的不明白为什么这个函数调用是必要的??? 减法中的运算符都具有相同的数据类型.我明确地使用pd.to_datetime()方法转换它们.并且此计算中不包括此转换时间.

所以你可以理解我对这个可怜代码的沮丧!

实际代码看起来像这样

 df  = pd.DataFrame(bet_endtimes)

def testing():
    close_indices = df.apply(lambda x: np.argmin(np.abs(currentdata['date'] - x[0])),axis=1)
    print close_indices

 %prun testing()
Run Code Online (Sandbox Code Playgroud)

python performance pandas

0
推荐指数
1
解决办法
8436
查看次数

哪个for循环在C++中更有效?

我和我的朋友正在讨论这三个for循环中的哪一个在C++中更有效(仅作为示例目的,它们将循环10次):

//A) 
for(int i = 0; i<10; i++)
{
    // Do stuff. 
}

//B) 
for(int i = 0; i< 10; ++i)
{
    // Do stuff.
}

//C) 
for(int i = 11; --i;)
{
    // Do stuff.
}

// D) 
// Anything you guys know that is better.
Run Code Online (Sandbox Code Playgroud)

哪一个最好,为什么?

c++ performance for-loop

-6
推荐指数
1
解决办法
286
查看次数

标签 统计

performance ×3

c++ ×2

c# ×1

clr ×1

code-generation ×1

compilation ×1

for-loop ×1

hpc ×1

jvm ×1

pandas ×1

process ×1

python ×1