Rank-width was defined by Oum and Seymour [ 2006] to investigate clique-width. They constructed an algorithm that either outputs a rank-decomposition of width at most f(k) for some function f or confirms that rank-width is larger than k in time O(vertical bar V vertical bar(9) log vertical bar V vertical bar) for an input graph G = (V, E) and a fixed k. We develop three separate algorithms of this kind with faster running time. We construct an O(vertical bar V vertical bar(4))-time algorithm with f(k) = 3k + 1 by constructing a subroutine for the previous algorithm; we avoid generic algorithms minimizing submodular functions used by Oum and Seymour. Another one is an O(vertical bar V vertical bar(3))-time algorithm with f(k) = 24k, achieved by giving a reduction from graphs to binary matroids; then we use an approximation algorithm for matroid branch-width by Hlineny [2005]. Finally we construct an O(vertical bar V vertical bar(3))-time algorithm with f(k) = 3k - 1 by combining the ideas of the two previously cited papers.