Performance Information

Sections

Introduction

The following describes file system performance on Wii U. The current investigation covers device and file system combination test results only. See the File System Types and Overview topic to discover how each device and file system combination works in which access method, and use it as reference for application development.

In the future, the plan is to show values for each media to start from and per API.

CAUTION:
The results shown here do NOT indicate any guaranteed performance, especially for write speed, which can be slow under some state of the device such as heavy fragmentation. Application should not be designed depending on any expectation about minimum and/or maximum performance.

The results shown here were obtained by directly performing Read/Write processing that takes place internally while no background (BG) processing was taking place. It may not directly reflect the performance for when actual FS APIs are used. The overhead associated with an API may be reduced by allocating some buffer size; however, exercise caution with background processing. See documentation on BG stress mode and such for more information.

System NAND Memory [WFS]

Test results obtained by accessing the system NAND memory via WFS are as shown below. The SDK version used for this testing was SDK 2.07.03 Patch 5, SDK 2.08.11, and SDK 2.10.02.

Access Buffer size Speed
SDK 2.07.03 Patch 5 SDK 2.08.11 SDK 2.10.02
Read 64KB Approximately 10.9MB/s Approximately 10.6MB/s Approximately 11.1MB/s
512KB Approximately 14.0MB/s Approximately 14.0MB/s Approximately 15.8MB/s
2MB Approximately 14.8MB/s Approximately 14.7MB/s Approximately 15.9MB/s
Write 64KB Approximately 1.2MB/s Approximately 1.2MB/s Approximately 1.2MB/s
512KB Approximately 2.5MB/s Approximately 2.5MB/s Approximately 2.5MB/s
2MB Approximately 2.5MB/s Approximately 2.5MB/s Approximately 2.5MB/s

Optical Disc [ATFS]

Test results obtained by accessing the disc via ATFS are as shown below. The SDK version used for this testing was SDK 2.07.01.

Access Buffer size Speed
Inner (of disc) Middle Outer
Read 64KB Approximately 11.3MB/s Approximately 16.0MB/s Approximately 16.8MB/s
512KB Approximately 11.3MB/s Approximately 16.0MB/s Approximately 20.9MB/s
2MB Approximately 11.3MB/s Approximately 16.0MB/s Approximately 20.9MB/s

USB Storage [WFS]

Test results obtained by accessing the USB storage via WFS are as shown below. The SDK version used for this testing was SDK 2.08.00.

Wii USB Memory[RVL-035]

The SDK version used for this testing was SDK 2.10.02.
Access Buffer size Speed
Read 64KB Approximately 9.8MB/s
512KB Approximately 21.9MB/s
2MB Approximately 22.1MB/s
Write 64KB Approximately 3.6MB/s
512KB Approximately 4.5MB/s
2MB Approximately 4.6MB/s

Silicon Power Ultima II I-Series flash drive[SP032GBUF2M01V1]

The SDK version used for this testing was SDK 2.08.11.
12-18-2012 Updated.
Access Buffer size Speed
Read 64KB Approximately 8.7MB/s
512KB Approximately 18.2MB/s
2MB Approximately 18.7MB/s
Write 64KB Approximately 6.4MB/s
512KB Approximately 13.1MB/s
2MB Approximately 14.0MB/s

Other USB storage devices

The SDK version used for this testing was SDK 2.08.00.
Access Buffer size Speed
Read 64KB Approximately 7.61 ~ 9.05MB/s
512KB Approximately 10.5 ~ 21.4MB/s
2MB Approximately 10.6 ~ 22.1MB/s

The USB storage used for this testing are as follows:

Host PC [PCFS]

In Debug systems (CAT-DEV), it is possible to use the host PC to emulate other filesystems via PCFS.

NOTE:
These numbers may also be affected by your Jumbo Frames setting on your PC's network card. The CAT-DEV supports jumbo frames up to size 9682. Jumbo Frames are enabled by default on your CAT-DEV.

The SDK version used for this testing was SDK 2.09.09 with Hostbridge 3.2.4.4.

IMPORTANT:
These are sample performance measurements. Performance is not guaranteed by Nintendo. Transfer speed depends heavily on the host PC, especially for large block sizes. These measurements were taken on an Intel Xeon W3530 (quad-core) CPU at 2.8GHz, with 24 GB of RAM and, and running on a hard drive separate from the OS with 7200rpm spindle speed.
Access Buffer size Speed
Read 512 bytes Approximately 170KB/s
16KB Approximately 5 MB/s
256KB Approximately 15MB/s
Write 512 bytes Approximately 170KB/s
16KB Approximately 4.2MB/s
256KB Approximately 11.2MB/s

Recent PCFS Improvements

PCFS went through recent changes that drastically improved performance. It is preferable to use the latest available Host Bridge and SDK combination. The charts below help illustrate the advantages of using the latest software.

Detailed data can be seen here

SD Card [FAT]

Test results obtained by accessing the disc via FAT are as shown below. The SDK version used for this testing was SDK 2.10.02.

SD memory card 2 GB [RVL-033]

Access Buffer size Speed
Read 64KB Approximately 15.0MB/s
512KB Approximately 19.5MB/s
2MB Approximately 20.1MB/s
Write 64KB Approximately 8.8MB/s
512KB Approximately 11.0MB/s
2MB Approximately 11.4MB/s

Buffer Size

Due to processing overhead, to some degree, the more you increase the buffer size, the better performance becomes.

However, if the buffer size unit is not 64KB, no sufficient performance may be achieved. It is recommended to use 64KB as buffer size unit.

Also, as mentioned in the caution above, background processing may affect the performance significantly; due to flushing that cannot be interrupted, processing may become delayed by hundreds of msec. For this reason, to stream a movie, a buffer for more than 1 - 2 second-frame should be allocated.

Revision History

2015/02/10 Added link to more info on 'BG Stress Mode'
2014/09/11 Added information about jumbo frames.
2013/08/26 Added caution to state that the results shown here do not guarantee anything about performance. Updated performance information for system NAND memory, Wii USB memory, and SD Card. Removed write speed (that were TBD) from "other USB storage devices".
2013/05/08 Automated cleanup pass.
2012/12/18 Updated NAND and USB performance.
2012/11/20 Replaced "FAT32" to "FAT".
2012/10/17 Added USB performance.
2012/08/22 Initial version.


CONFIDENTIAL