【85 backtrader-cs因子测试的一些高级技巧-2】使用cython、c语言和c++加速某些函数的计算

news/2024/11/15 3:37:27/

在上一篇文章:【85 backtrader-cs因子测试的一些高级技巧】使用numba加速某些函数的计算中,使用了numba改进某些函数,实现加速,在这一篇文章中,尝试接着上一篇文章的主题,继续尝试用cython,c语言和c++尝试改进decayliear函数的计算速度。

结论:

在这里插入图片描述
从图上似乎可以得到下面几个推论:

  1. 当需要计算的行数比较少的时候,比如10行,100行这种情况下,numba优化的函数消耗的时间是cpp的好几倍,这可能是因为调用numba优化的函数的时候需要一个开销,这个开销比较大。当需要计算的行数比较多的时候,numba优化后的函数开始给力,逐渐能够达到c的速度。
  2. cython的性能略差于c语言写的函数,c语言写的函数和c++写的函数计算速度比较接近。

性能对比代码

import pandas as pd
import numpy as np
import</

http://www.ppmy.cn/news/554518.html

相关文章

【数据库必备知识】索引和事务

数据库系列文章 1. 零基础带你快速上手SQL语言2. 玩转表及其数据3. 上手表设计 4. 索引和事务 目录 &#x1f4d6;前言 1. 索引 1.1 索引的概念 1.2 索引的作用 1.3 索引的使用场景 1.4 索引的使用 1.5 索引背后的数据结构(B树) 2. 事务 2.1 事务的概念 2.2 数据库使…

BZOJ 4311 向量

留坑 转载于:https://www.cnblogs.com/zzyer/p/8504519.html

4311 编写递归函数getPower计算x的y次方

【题目描述】 编写递归函数getPower计算x的y次方&#xff0c;在同一个程序中针对整型和实型实现两个重载的函数(当y<0时&#xff0c;返回0)&#xff1a; int getPower(int x, int y); //整型版本 double getPower(double x, int y); //实型版本 在主程序中实现输入输出&…

bzoj4311: 向量(线段树分治+凸包)

传送门 题意&#xff1a; 支持插入一个向量&#xff0c;删去某一个现有的向量&#xff0c;查询现有的所有向量与给出的一个向量的点积的最大值。 思路&#xff1a; 考虑线段树分治。 先对于每个向量处理出其有效时间放到线段树上面&#xff0c;然后考虑查询&#xff1a;对于两个…

2019.02.26 bzoj4311: 向量(线段树分治+凸包)

传送门 题意&#xff1a; 支持插入一个向量&#xff0c;删去某一个现有的向量&#xff0c;查询现有的所有向量与给出的一个向量的点积的最大值。 思路&#xff1a; 考虑线段树分治。 先对于每个向量处理出其有效时间放到线段树上面&#xff0c;然后考虑查询&#xff1a;对于两个…

洛谷P4311 士兵占领

题目链接&#xff1a;https://www.luogu.org/problemnew/show/P4311 知识点&#xff1a;  最大流 解题思路&#xff1a; 对于每一行&#xff0c;建立一条从源点到该行的边&#xff0c;容量为这一行能不放置士兵的点数&#xff1b; 对于每一列&#xff0c;建立一条从该列到汇点…

hdu_4311_Meeting point-1(曼哈顿距离)及其拓展

hdu_4311_Meeting point-1(曼哈顿距离&#xff09;及其拓展 题目链接 题目描述 给定n个点&#xff0c;找出其中一个点&#xff0c;使得其他点到这个点的曼哈顿距离和最小&#xff0c;求这个最小距离和。 Sample Input 4 6 -4 -1 -1 -2 2 -4 0 2 0 3 5 -2 6 0 0 2 0 -5 -2 2 …

jzoj4311 统一天下

Description Input Output Sample Input 4 4 1 3 2 1 4 3 4 3 4 1 1 2 Sample Output 68 Data Constraint 算法讨论 问题的关键是如何求出两棵树的重心&#xff0c;那就是f[i]&#xff0c;即所有点到点i的距离&#xff0c;首先dfs一次求出f[1]和z[i](i的子树的大小)…