# Performant Dataloader (Beta)

## How to use Deep Lake's performant Dataloader built and optimized in C++

Deep Lake offers an Alpha version of its dataloader that was build and optimized in C++. The new dataloader is 2-3X faster in many applications, but since it is an experimental state, is not as reliable as the pure-python dataloader described [here](https://docs-v3.activeloop.ai/v3.0.x/getting-started/connecting-to-ml-frameworks).&#x20;

Both dataloaders can be used interchangeably, and their syntax varies as shown below&#x20;

### Pure-Python Dataloader

```python
train_loader = ds_train.pytorch(num_workers = 8,
                                transform = transform, 
                                batch_size = 32,
                                tensors=['images', 'labels'],
                                shuffle = True)
```

### C++ Dataloader

{% hint style="warning" %}
The C++ dataloader is currently available only on Linux machines. It also returns image tensors as PIL images, not numpy arrays (like the python dataloader).
{% endhint %}

<pre class="language-python"><code class="lang-python">from deeplake.experimental import dataloader
<strong>
</strong><strong>train_loader = dataloader(ds)\
</strong>                .transform(transform)\
                .batch(32)\
                .shuffle()\
                .pytorch(tensors=['images', 'labels'], num_workers = 8)
</code></pre>
