标签: runtime

使用GHC API评估Haskell语句/表达式

对于我正在编写的工具(http://hackage.haskell.org/package/explore),我需要一种在运行时读取haskell函数定义的方法,将它们应用于我的工具中的值并检索其应用程序的结果.

任何人都可以使用GHC(6.10.4或6.12.1)API给我一个非常基本的例子吗?

要在运行时从文件中读取的示例函数定义:

f x = 10**(4/1102*x - 1)
Run Code Online (Sandbox Code Playgroud)

预期的计划产出

--mapM_ print $ map f [428, 410, 389]
3.577165388142748
3.077536885227335
2.5821307011665815
Run Code Online (Sandbox Code Playgroud)

!! UPDATE!
我发布了一个快速回答,但它在执行目录中创建了一个目标文件,任何提示都可以避免这种情况并避免使用所有文件IO.我还希望看到一个在内存中执行所有操作的版本:例如,用户在GUI中提供函数定义,编译/评估不会创建任何目标文件.

evaluation haskell runtime ghc ghc-api

19
推荐指数
2
解决办法
2682
查看次数

MPI全球执行时间

我正在研究一个将数组与矩阵相乘的小应用程序.它没有任何问题.我正在努力衡量应用程序的执行时间.我可以找到每个进程的执行时间(开始和结束),但我需要全局时间.

这是我的代码:

int main(int argc, char **argv){
    int rang, procesus;
    MPI_Status statut;
    double start, end, max_end = 0, min_start = 10000;

    MPI_Init(&argc, &argv);
    MPI_Comm_rank(MPI_COMM_WORLD, &rang);
    MPI_Comm_size(MPI_COMM_WORLD, &procesus);
    MPI_Barrier(MPI_COMM_WORLD);

    start = MPI_Wtime();
    printf("Starting time of process n. %d %f\n",rang, start);
    if(rang==0){
        //Master work
    }else{
        //slaves work
    }
    MPI_Barrier(MPI_COMM_WORLD);
    end = MPI_Wtime();
    printf("Ending time of process n.%d %f\n\n\n",rang, end);

    MPI_Finalize();
//Out of the Parallelized task

    if(min_start > start){
        min_start = start;
        printf("New minumum starting time %f\n", min_start);
    }

    if(max_end < end){
        max_end …
Run Code Online (Sandbox Code Playgroud)

runtime mpi

19
推荐指数
2
解决办法
2万
查看次数

C++ static_cast运行时开销

请参阅下面的代码.

a)在这种情况下(简单继承,没有虚拟成员),B :: df()中的静态强制转换是否有任何开销(无论如何)?我找到了类似问题的一些相互矛盾的答案,这就是我要问的原因......

b)我正在考虑const M1 * func在A中私有化并在B中引入一个新的私有字段const M2 * func来避免演员表,但它使事情变得复杂并且更难以使用智能指针.你有没有看到避免演员的更好方法?


class M1 {
public:
    double f() const;
};

class M2 : public M1 { public: double df() const; };

class A { protected: const M1 * func; public: A(const M1 * p); ~A(); double f() const; };

class B : public A { public: B(const M2 * p); double df() const; };


double M1::f() const { return 1973.0; }
double M2::df() const { return 0.0; …
Run Code Online (Sandbox Code Playgroud)

c++ runtime overhead static-cast

19
推荐指数
1
解决办法
9887
查看次数

创建一个名称在字符串变量中的类的对象实例

我不知道我问的问题是否可用,但我只是想知道它是否存在以及它是如何工作的.所以这是我的问题:

我有自己的2-3个自定义模型类.例如,客户,员工和产品.现在我在一个字符串中有类名.并且基于字符串中的类名,我必须创建其对象并返回到VIEW.我怎么能实现这个目标?

我知道一个IF ELSE声明选项,但我想尝试更好的" 动态 "方式......

.net c# reflection runtime system.reflection

19
推荐指数
2
解决办法
7万
查看次数

为什么Crystal比Ruby更快?

我非常想知道究竟是什么让Crystal比Ruby更快,而代码非常相似.简短的回答可能是它被编译,Ruby被解释,但我想更多地了解语言规范.

ruby performance runtime crystal-lang

19
推荐指数
1
解决办法
990
查看次数

Docker 容器的开发标签和运行时标签有什么区别?

对于 Pytorch 和 Tensorflow,有区分开发和运行时的标签,我不太确定这两者之间有什么区别,有人可以帮助我更好地理解吗?

runtime docker

19
推荐指数
2
解决办法
5696
查看次数

如何在线程java应用程序中确定运行时的主类?

我想在运行时确定我的应用程序启动的类名,带有main()方法的类名,但我在另一个线程中,我的堆栈跟踪不会一直回到原始类.

我搜索了系统属性以及ClassLoader提供的所有内容,并且没有提供任何内容.这些信息不可用吗?

谢谢.

java program-entry-point runtime stack-trace classloader

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

为什么这个泛型场景会导致TypeLoadException?

这有点啰嗦,所以这是快速版本:

为什么这会导致运行时TypeLoadException?(并且编译器是否应该阻止我这样做?)

interface I
{
    void Foo<T>();
}

class C<T1>
{
    public void Foo<T2>() where T2 : T1 { }
}

class D : C<System.Object>, I { } 
Run Code Online (Sandbox Code Playgroud)

如果您尝试实例化D,则会发生异常.


更长,更具探索性的版本:

考虑:

interface I
{
    void Foo<T>();
}

class C<T1>
{
    public void Foo<T2>() where T2 : T1 { }
}

class some_other_class { }

class D : C<some_other_class>, I { } // compiler error CS0425
Run Code Online (Sandbox Code Playgroud)

这是非法的,因为类型约束C.Foo()与那些不匹配I.Foo().它会生成编译器错误CS0425.

但我想我可能会违反规则:

class D : C<System.Object>, I { } // …
Run Code Online (Sandbox Code Playgroud)

c# generics clr runtime compiler-bug

18
推荐指数
1
解决办法
2345
查看次数

使用Objective-C运行时查找声明它们符合特定协议的类

我正在试图找出一种方法来"标记"将在稍后编写的类,以便我可以在运行时找到它们,但不强制使用特定的父类.目前我正在考虑应用协议,然后找到所有具有该协议的类.

但我无法弄清楚如何.

有谁知道是否有可能找到在运行时实现特定协议的所有类?或者 - 有没有更好的方法来"标记"类并找到它们?

runtime objective-c

18
推荐指数
2
解决办法
2610
查看次数

在运行时捕获/拦截Android Intent

有没有办法在运行时捕获/拦截应用程序的Intent而不修改Android框架?修改Android框架可能需要太多工作.请帮我.

android runtime android-intent

18
推荐指数
1
解决办法
1万
查看次数