The most likely culprit is the work we did for TOOLS-3611. This changed how we serialize JSON to add some validation to ensure that the JSON we produce will actually survive a round trip. As currently implemented, this means that every time we marshal something to JSON, we also unmarshal it to make sure this works. There's also some use of the Golang reflect package, which is probably not helping.
Can we do this in a more efficient way?
- It is documented that mongoexport and mongoimport should not be used for roundtripping data. We might just use simple unmarshal functions in mongoexport without roundtrip validations.
- is related to
-
DRIVERS-3456 Extended JSON encoders should reject un-encodable documents (e.g., $-prefixed strings)
-
- Backlog
-