---
title: "FAQ"
output: rmarkdown::html_vignette
vignette: >
%\VignetteIndexEntry{FAQ}
%\VignetteEngine{knitr::rmarkdown}
%\VignetteEncoding{UTF-8}
---
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
```
# Is `tidypolars` slower than `polars`?
No, or just marginally. The objective of `tidypolars` is *not* to modify the
data, simply to translate the `tidyverse` syntax to `polars` syntax. `polars`
is still in charge of doing all the data manipulations under the hood.
Therefore, there might be minor overhead because we still need to parse the
expressions and rewrite them in `polars` syntax (see the [Parsing expressions](https://tidypolars.etiennebacher.com/articles/parsing-expressions.html)
vignette) but this should be marginal.
# Am I stuck with `tidypolars`?
No, `tidypolars` will always return `DataFrame`s, `LazyFrame`s or `Series`.
Therefore, if at some point you want to use `polars` because you need more
control or because you want to reduce your number of dependencies, you can
easily do so.
# Do I still need to load `polars`?
Yes, because `tidypolars` doesn't provide any functions to create `polars`
`DataFrame` or `LazyFrame` or to read data. You'll still need to use `polars`
for this.
# Can I see some benchmarks with other tools?
Making accurate benchmarks of data wrangling tools is difficult and I won't try
to do it here (I just put one of the homepage to give an idea of the performance,
but it is by no means comprehensive). You should refer to [DuckDB benchmarks](https://duckdblabs.github.io/db-benchmark/).