Is there another way to interface with BeagleBone Black hardware
An option is to use mmap (memory map) and then by utilizing GPIO registers, you can control GPIO pins with higher speed. However, PRU(Programmable Real-time Unit) may result in higher speeds even more than mmap method, but this high-speed control costs for assembly programming (However in Starterware you can write code for PRU in C). For more information about PRU you can refer to Technical Reference Manual of AM335x.

Take a look at this address for mmap example.