Disk performance can be an important factor in CI/CD pipeline performance. It's affected by:
- Throughput: how much data you're writing or reading, especially sequentially
- IOPS: how many individual I/O operations are being performed, especially on small files
- Latency: how quickly each operation completes
The performance is mostly relevant in write-heavy tasks.
And no task is heavier on the writes than an npm install, as hundreds of thousands of tiny files are written to disk.
tmpfs
To accelerate performance in high iops scenarios like an npm install, we built support for running a task using tmpfs.
To use tmpfs, just add tmpfs: true to the agent configuration on your task.
1tasks:2- key: tmpfs-demo3agent:4tmpfs: true5run: ...
Here's a longer example of writing a gigabyte of 0's.
Without tmpfs, it takes 3.376s to write this file.
With tmpfs, it takes 0.383s (8.8x faster).
1tasks:2- key: tmpfs-demo3agent:4tmpfs: true5run: |6time dd \7if=/dev/zero \8of=testfile \9bs=1M \10count=1024 \11oflag=direct \12status=progress
Demo
Related posts
Read more on updates and advice from the RWX engineering team

You Shouldn't Have To Change Your Cron Schedules Every Six Months
RWX supports more flexibility with cron schedules, such as specifying time zones, than what is available on Github Actions.


