Almacenamiento en caché de datos en Mathematica

Hay una operación que consume mucho tiempo y genera un conjunto de datos en mi paquete. Me gustaría guardar este conjunto de datos y dejar que el paquete lo reconstruya solo cuando elimine manualmente el archivo en caché. Aquí está mi enfoque como parte del paquete:

myDataset = Module[{fname, data}, 
    fname = "cached-data.mx";
    If[FileExistsQ[fname], 
        Get[fname],
        data = Evaluate[timeConsumingOperation[]];
        Put[data, fname];
        data]
];

timeConsumingOperation[]:=Module[{},
    (* lot of work here *)
    {"data"}
];

Sin embargo, en lugar de escribir el conjunto de datos largo en el archivo, el comando Put solo escribe una línea: "timeConsumingOperation []", incluso si lo envuelvo con Evaluate como se indicó anteriormente. (Para ser verdad, este comportamiento no es consistente, a veces el conjunto de datos está escrito, a veces no).

¿Cómo guardas en caché tus datos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta