Публикации по теме 'cython'
Повышение производительности Python
Я уверен, что каждый из нас хочет совместить выразительность Python с производительностью и контролем C / C ++ и получить отличные результаты. Итак, давайте посмотрим, как мы можем добиться этого с помощью Cython и PyPy .
Ниже представлена наивная функция подсчета делителей, реализованная на Python:
Профилирование
Теперь давайте проведем сравнительный анализ и посмотрим, как работает вышеуказанная функция. Для этого воспользуемся функцией iPython magic : %timeit
In [2]:..
Вызов функций C ++ из Cython (ссылки, указатели и массивы)
Cython - очень полезный язык для обертывания C ++ для Python. В этом сообщении блога я хотел бы привести примеры различных способов вызова функций C ++ в Cython.
Сначала я приведу примеры передачи целого числа в C ++, а затем перейду к примерам передачи массива.
Здесь я даю функции C ++, которые принимают ввод по ссылке, указателю, ссылке на указатель и указателю на указатель.
Вот функции Cython, которые являются оболочкой для функций C ++, описанных выше. Обратите внимание, что я..
Вопросы по теме 'cython'
Расширение numpy с помощью cython
Я пытаюсь обернуть заголовочный файл, который имеет множество таких функций
test.h
void test(int N, int* data_in, int* data_out);
чтобы я мог использовать их из numpy.
Сейчас у меня есть следующий код cython:
test.pyx
import...
1326 просмотров
schedule
20.04.2024
Ошибка установки Cython GCC
Попытка установить Cython на небольшой VPS с Ubuntu Server. Делал
sudo apt-get install gcc
а потом
python setup.py install
В каталоге Cython, но я получаю эту странную ошибку.
running install
running build
running build_py...
15709 просмотров
schedule
16.10.2022
Использование Cython для упаковки библиотеки, которая является оболочкой для другой библиотеки
Моя цель — использовать Cython для создания оболочки библиотеки Apohenia , библиотеки C для научных вычислений.
Это попытка не переделывать колесо, и сама Apophenia пытается сделать то же самое, основывая свои структуры на структурах из научной...
523 просмотров
schedule
26.11.2023
Cython: динамическое связывание с dll/так
Я работаю с API, который распространяется как файл dll/so, который мне нужно динамически связать с моей программой python. Для этого я хочу использовать Cython.
Раньше мне удавалось статически связываться с dll. Это работает хорошо, за...
930 просмотров
schedule
03.12.2023
передача двойного указателя С++ на python
Я мог бы передать одномерный массив в python, как показано ниже. и мне интересно, могу ли я передать массив двойных указателей С++ в python, используя ctypes, numpy.
test.cpp:
#include <stdio.h>
extern "C" void cfun(const void * indatav,...
3316 просмотров
schedule
08.03.2024
структура проекта для переноса многих классов С++ в cython в один общий объект
Я нашел частичные ответы в документах, списках рассылки и этот вопрос здесь , но я хотел получить более прямой ответ, касающийся моей специфики...
Я изучаю cython, пытаясь постепенно обернуть небольшие части библиотеки, которую я уже использую,...
4997 просмотров
schedule
07.11.2022
Cython и конструкторы классов
У меня проблема с использованием Cython конструкторов по умолчанию.
Мой узел класса С++ выглядит следующим образом
Node.h
class Node
{
public:
Node()
{
std::cerr << "calling no arg constructor" << std::endl;...
4647 просмотров
schedule
23.11.2023
Киви привет мир не работает
Я пытаюсь заставить kivy работать в моей системе Ubuntu. Я следовал инструкциям на их wesbite .
Но когда я пытаюсь запустить следующий код hello world с их сайта:
import kivy
kivy.require('1.5.1') # replace with your current kivy version !...
3702 просмотров
schedule
31.03.2024
скомпилируйте cython с классом C++ и получите неопределенные символы
Я попытался обернуть класс C++ с помощью cython, он компилируется нормально, но когда я импортирую расширение, я получаю t
ImportError: ./svd.so: undefined symbol: _ZTI5model
Вот заголовочные файлы C++:
во-первых, "model.h", модель - это...
333 просмотров
schedule
15.04.2024
странный сбой расширения cython, ошибка cython?
Кто-нибудь может объяснить, почему это расширение приводит к сбою Python? Я уже много часов схожу с ума по этому поводу и не могу объяснить.
Я упростил свой код, чтобы он отображал только те строки, которые необходимы для воспроизведения сбоя:
У...
323 просмотров
schedule
11.11.2022
Скорость выполнения функции cython vs ctypes
У меня есть простой план для моей программы: выполнить весь входной синтаксический анализ и предварительную обработку данных с помощью Python, а затем передать множество структур и вызвать ОДИН РАЗ функцию обработки чисел, которую я собираюсь написать...
2151 просмотров
schedule
06.12.2023
Cython: преобразовать представление памяти в массив NumPy
Как преобразовать типизированное представление памяти в массив NumPy в cython? Документы есть
cimport numpy as np
import numpy as np
numpy_array = np.asarray(<np.int32_t[:10, :10]> my_pointer)
Я взял это для своего случая...
14004 просмотров
schedule
03.12.2023
C/Cython: начальное содержимое выделения памяти malloc
Код:
cpdef values(int n):
cdef size_t i
cdef double * v = <double *> malloc(sizeof(double) * n)
if v is NULL:
abort()
for i in range(n):
print v[i]
Вывод:
>>> values(5)
1.06816855917e-306...
356 просмотров
schedule
28.11.2022
Cython setup.py для нескольких .pyx
Я хотел бы cythonize быстрее. Код для одного .pyx
from distutils.core import setup
from Cython.Build import cythonize
setup(
ext_modules = cythonize("MyFile.pyx")
)
Что делать, если я хочу cythonize
несколько файлов с расширением...
17374 просмотров
schedule
02.12.2022
Оператор cdef не разрешен здесь для структуры
У меня есть простой Astruct.pyx с определением структуры (Astruct.pxd):
cdef struct A:
int x
int y
int z
И функция Cython, которая его использует (struct_test.pyx):
from random import randint
from Astruct cimport A
def do():...
9352 просмотров
schedule
09.11.2023
cython/python: как поймать в качестве исключения внешнюю функцию, которая выходит вместо возврата
Я использую Cython для интерфейса внешней функции C. Функция (научный код из 100 000 строк кода) выполняет внутреннюю проверку на наличие недопустимых условий и «выходит» в случае их возникновения.
Как я могу заставить Cython обнаруживать и...
692 просмотров
schedule
18.11.2022
cython lambda1 против ‹лямбда›
Я обнаружил, что на моем ПК определенный метод представлен как <cyfunction <lambda> at 0x06DD02A0> , а на сервере CentOS это <cyfunction lambda1 at 0x1df3050> . Я считаю, что это причина очень неясной ошибки нисходящего потока с...
281 просмотров
schedule
21.03.2024
Cython не распознает команды С++ 11
Я оборачиваю класс C++ в Python и не могу скомпилировать какие-либо функции C++11 с модулем Cython.
Все компилируется нормально при компиляции только C++. Но когда я запускаю этот setup.py ниже:
setup(
ext_modules = cythonize(...
3099 просмотров
schedule
07.03.2024
Потенциальная утечка памяти при преобразовании широкого символа в строку Python
У меня есть следующий код в cython в файле pyx, который преобразует wchar_t * в строку python (юникод)
// Весь код ниже — это Python 2.7.4
cdef wc_to_pystr(wchar_t *buf):
if buf == NULL:
return None
cdef size_t buflen
buflen...
280 просмотров
schedule
27.12.2023
ValueError: несоответствие типа буфера, ожидалось «плавающее», но получено «двойное»
Я скомпилировал скрипт Cython и запустил его. При запуске я получил ошибку из следующей строки кода:
cdef np.ndarray[float] vola = np.empty(n, dtype=float)
Почему это? Я хочу позже заполнить массив vola значениями с плавающей запятой,...
11308 просмотров
schedule
02.05.2024