---
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/).
