diff --git a/user/super/com/google/gwt/emul/java/lang/System.java b/user/super/com/google/gwt/emul/java/lang/System.java
index 5767122..f1aaa83 100644
--- a/user/super/com/google/gwt/emul/java/lang/System.java
+++ b/user/super/com/google/gwt/emul/java/lang/System.java
@@ -34,6 +34,8 @@
  */
 public final class System {
 
+  private static final int MILLIS_TO_NANOS = 1_000_000;
+
   /**
    * Does nothing in web mode. To get output in web mode, subclass PrintStream
    * and call {@link #setErr(PrintStream)}.
@@ -96,6 +98,10 @@
     return (long) JsUtils.getTime();
   }
 
+  public static long nanoTime() {
+    return (long) (JsUtils.performanceNow() * MILLIS_TO_NANOS);
+  }
+
   /**
    * Has no effect; just here for source compatibility.
    *
diff --git a/user/super/com/google/gwt/emul/javaemul/internal/JsUtils.java b/user/super/com/google/gwt/emul/javaemul/internal/JsUtils.java
index 160102c..077e50c 100644
--- a/user/super/com/google/gwt/emul/javaemul/internal/JsUtils.java
+++ b/user/super/com/google/gwt/emul/javaemul/internal/JsUtils.java
@@ -27,6 +27,9 @@
   @JsMethod(namespace = "<window>", name = "Date.now")
   public static native double getTime();
 
+  @JsMethod(namespace = "<window>", name = "performance.now")
+  public static native double performanceNow();
+
   @JsMethod(namespace = "<window>")
   public static native int parseInt(String s, int radix);
 
diff --git a/user/test/com/google/gwt/emultest/java/lang/SystemTest.java b/user/test/com/google/gwt/emultest/java/lang/SystemTest.java
index 090424d..9e3c33a 100644
--- a/user/test/com/google/gwt/emultest/java/lang/SystemTest.java
+++ b/user/test/com/google/gwt/emultest/java/lang/SystemTest.java
@@ -18,6 +18,7 @@
 import com.google.gwt.junit.client.GWTTestCase;
 import com.google.gwt.testing.TestUtils;
 
+import java.sql.Date;
 import java.util.Arrays;
 
 /**
@@ -323,4 +324,13 @@
     // Note that default is not a String literal.
     assertEquals("default", System.getProperty("otherNonExistent", someConf));
   }
+
+  public void testNanoTime() {
+    assertTrue(System.nanoTime() > 0);
+  }
+
+  public void testCurrentTimeMillis() {
+    assertTrue(System.currentTimeMillis() > Date.parse("1-1-2021"));
+  }
 }
+
