In this article, we propose a general principle of quantuminterference for quantum system, and based on this we propose anew type of computing machine, the duality computer, that mayoutperform in principle both classical computer and the quantumcomputer. According to the general principleof quantum interference, the very essence of quantum interferenceis the interference of the sub-waves of the quantum system itself.A quantum system considered here can be any quantum system: asingle microscopic particle, a composite quantum system such as anatom or a molecule, or a loose collection of a few quantum objectssuch as two independent photons. In the duality computer,the wave of the duality computer is split into severalsub-waves and they pass through different routes, where differentcomputing gate operations are performed. These sub-waves are thenre-combined to interfere to give the computational results. Thequantum computer, however, has only used the particle nature of quantum object.In a duality computer, it may be possible to find a marked itemfrom an unsorted database using only a single query, and allNP-complete problems may have polynomial algorithms.Two proof-of-the-principle designs of the duality computer arepresented: the giant molecule scheme and the nonlinear quantum optics scheme.We also propose thought experiment to check the relatedfundamental issues, the measurement efficiency of a partial wavefunction.