# Performant Dataloader

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

Deep Lake offers an optimized implementation of its dataloader built in C++. The C++ dataloader is 3-5X faster in many applications, and it supports distributed training. The C++ and Python 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="danger" %}
The C++ dataloader is installed using `pip install "deeplake[enterprise]"`. [Details on all installation options are available here](https://docs.deeplake.ai/en/latest/Installation.html).&#x20;
{% endhint %}

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