diff --git a/Lib/test/test_mmap.py b/Lib/test/test_mmap.py
index 6ca5e1b..fa693f3 100644
--- a/Lib/test/test_mmap.py
+++ b/Lib/test/test_mmap.py
@@ -1,5 +1,5 @@
 from test.support import (TESTFN, run_unittest, import_module, unlink,
-                          requires, _2G, _4G, gc_collect)
+                          requires, _2G, _4G, gc_collect, cpython_only)
 import unittest
 import os
 import re
@@ -639,6 +639,15 @@
         m2.close()
         m1.close()
 
+    @cpython_only
+    @unittest.skipUnless(os.name == 'nt', 'requires Windows')
+    def test_sizeof(self):
+        m1 = mmap.mmap(-1, 100)
+        tagname = "foo"
+        m2 = mmap.mmap(-1, 100, tagname=tagname)
+        self.assertEqual(sys.getsize(m2),
+                         sys.getsize(m1) + len(tagname) + 1)
+
     @unittest.skipUnless(os.name == 'nt', 'requires Windows')
     def test_crasher_on_windows(self):
         # Should not crash (Issue 1733986)
diff --git a/Misc/NEWS b/Misc/NEWS
index 58d23dd..397ca5d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,8 @@
 Library
 -------
 
+- Issue #15696: Add a __sizeof__ implementation for mmap objects on Windows.
+
 - Issue #22068: Avoided reference loops with Variables and Fonts in Tkinter.
 
 - Issue #22165: SimpleHTTPRequestHandler now supports undecodable file names.
diff --git a/Modules/mmapmodule.c b/Modules/mmapmodule.c
index 07b5c6b..1371424 100644
--- a/Modules/mmapmodule.c
+++ b/Modules/mmapmodule.c
@@ -709,6 +709,19 @@
     return _PyObject_CallMethodId(self, &PyId_close, NULL);
 }
 
+#ifdef MS_WINDOWS
+static PyObject *
+mmap__sizeof__method(mmap_object *self, void *unused)
+{
+    Py_ssize_t res;
+
+    res = sizeof(mmap_object);
+    if (self->tagname)
+        res += strlen(self->tagname) + 1;
+    return PyLong_FromSsize_t(res);
+}
+#endif
+
 static struct PyMethodDef mmap_object_methods[] = {
     {"close",           (PyCFunction) mmap_close_method,        METH_NOARGS},
     {"find",            (PyCFunction) mmap_find_method,         METH_VARARGS},
@@ -726,6 +739,9 @@
     {"write_byte",      (PyCFunction) mmap_write_byte_method,   METH_VARARGS},
     {"__enter__",       (PyCFunction) mmap__enter__method,      METH_NOARGS},
     {"__exit__",        (PyCFunction) mmap__exit__method,       METH_VARARGS},
+#ifdef MS_WINDOWS
+    {"__sizeof__",      (PyCFunction) mmap__sizeof__method,     METH_NOARGS},
+#endif
     {NULL,         NULL}       /* sentinel */
 };
 
