The depletion of the global IPv4 address pool made the deployment of IPv6, the new version of the Internet Protocol, inevitable. In this paper, the transition mechanisms for the first phase of IPv6 deployment are surveyed and the DNS64 plus NAT64 solution is found appropriate. The most important free and open source DNS64 implementations are selected: BIND, TOTD, Unbound and PowerDNS. The test environment and the testing method are described. The first three of the selected DNS64 implementations are tested under Linux, OpenBSD and FreeBSD whereas PowerDNS is tested only under Linux. Their performance characteristics (response time, number of answered requests per second, CPU and memory consumption) are measured and compared. The effect of the hardware architecture of the test computer is also examined by using single-core, dual-core and quad-core test computers. The stability of all the tested DNS64 solutions are analyzed under overload conditions to test if they may be used in production environments with strong response time requirements. Our measurement results show significant differences in the performance of the tested DNS64 implementations, e.g. Unbound served four times more requests per second than PowerDNS (when executed by a single-core CPU under Linux and load was generated by eight clients). However, no absolute order can be determined, because it is influenced by different factors such as the architecture of the hardware, especially the number of cores, because BIND and PowerDNS are multithreaded (therefore they can profit from the multiple cores) but TOTD and Unbound are not. Also the operating system of the DNS64 server has significant influence on the performance of the DNS64 implementations under certain conditions. All the details of our measurements are disclosed and all the results are presented in the paper. An easy-to-use implementation selection guide is also provided as a short summary of our high number of results.