Обновление:
см. В этом посте, где используется потоковой механизм:
Как убедиться, что плагин по выражению поляра правильно использует несколько процессоров? (https://docs.pola.rs/user-guide/plugins/expr_plugins/) для вычисления тяжелых вычислений. Я мог видеть большой и задержка в том, чтобы сделать их многопоточными (особенно потому, что они работают по элементу, то есть строки независимы). < /P>
В этом выпуске упоминается, что: < /p>
Но каждое выражение будет индивидуально. Если вы хотите, чтобы это было параллельно, вам нужно реализовать это самостоятельно, но тогда вы рискуете плохим взаимодействием с собственным многопользовательным
Знаете ли вы, есть ли умный/рекомендуемый способ сделать это? Может ли можно использовать тот же пул потоков (или аналогичный), что и Polars, чтобы избежать голодных ressources? Не могли бы вы привести пример того, как можно изменить код в примере ниже, чтобы достичь этого?// src/expressions.rs
use polars::prelude::*;
use pyo3_polars::derive::polars_expr;
use std::fmt::Write;
fn pig_latin_str(value: &str, output: &mut String) {
if let Some(first_char) = value.chars().next() {
write!(output, "{}{}ay", &value[1..], first_char).unwrap()
}
}
#[polars_expr(output_type=String)]
fn pig_latinnify(inputs: &[Series]) -> PolarsResult {
let ca = inputs[0].str()?;
let out: StringChunked = ca.apply_into_string_amortized(pig_latin_str);
Ok(out.into_series())
}
Подробнее здесь: https://stackoverflow.com/questions/794 ... on-plugins
Использование многопоточности в плагинах экспрессии Polars ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Вменение и добавление строк в DataFrame с использованием экспрессии Polars
Anonymous » » в форуме Python - 0 Ответы
- 8 Просмотры
-
Последнее сообщение Anonymous
-