diff --git a/bench/bench_move_semantics.cpp b/bench/bench_move_semantics.cpp
new file mode 100644
index 0000000..323d804
--- /dev/null
+++ b/bench/bench_move_semantics.cpp
@@ -0,0 +1,57 @@
+// This file is part of Eigen, a lightweight C++ template library
+// for linear algebra.
+//
+// Copyright (C) 2020 Sebastien Boisvert <seb@boisvert.info>
+//
+// This Source Code Form is subject to the terms of the Mozilla
+// Public License v. 2.0. If a copy of the MPL was not distributed
+// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#include "BenchTimer.h"
+#include "../test/MovableScalar.h"
+
+#include <Eigen/Core>
+
+#include <iostream>
+#include <utility>
+
+template <typename MatrixType>
+void copy_matrix(MatrixType& m)
+{
+  MatrixType tmp(m);
+  m = tmp;
+}
+
+template <typename MatrixType>
+void move_matrix(MatrixType&& m)
+{
+  MatrixType tmp(std::move(m));
+  m = std::move(tmp);
+}
+
+template<typename Scalar>
+void bench(const std::string& label)
+{
+  using MatrixType = Eigen::Matrix<Eigen::MovableScalar<Scalar>,1,10>;
+  Eigen::BenchTimer t;
+
+  int tries = 10;
+  int rep = 1000000;
+
+  MatrixType data = MatrixType::Random().eval();
+  MatrixType dest;
+
+  BENCH(t, tries, rep, copy_matrix(data));
+  std::cout << label << " copy semantics: " << 1e3*t.best(Eigen::CPU_TIMER) << " ms" << std::endl;
+
+  BENCH(t, tries, rep, move_matrix(std::move(data)));
+  std::cout << label << " move semantics: " << 1e3*t.best(Eigen::CPU_TIMER) << " ms" << std::endl;
+}
+
+int main()
+{
+  bench<float>("float");
+  bench<double>("double");
+  return 0;
+}
+
