dakra / speed-type

Practice touch/speed typing in emacs
GNU General Public License v3.0
137 stars 19 forks source link

Save statistics #11

Open dakra opened 5 years ago

dakra commented 5 years ago

Would be nice if speed-type saves my progress each time so I can see how my typing progresses.

aksharvarma commented 5 years ago

I would very much like such a feature. If someone can suggest a way to implement it, I could give it a shot if I get some time.

I'm assuming speed-type--generate-stats will append new stats into a file but I'm not sure what kind of a file format would be best for summarizing it later using elisp. If it were python I might have saved into a csv file and read in using pandas or numpy. I'm not well versed enough in elisp for such a task.

dakra commented 5 years ago

Usually you would just put a sexp in a file. E.g. you can see how I do it in one of my packages here.

I'm happy to help if you have questions or review a PR.

aksharvarma commented 5 years ago

I thought of something like that, but I wasn't sure about the impact on performance of saving a whole list of statistics each time, reading it in, appending to the list and so on. Is the time spent on I/O not going to be an issue if I save/read (potentially huge) sexps in a file?

dakra commented 5 years ago

potentially huge

Maybe we had different things in mind. I thought we save maybe the top 10 and last 10 speed-types or something.

This could be customizable of course and even if you save 100 + 100 or so, that's basically nothing and should save/load instantly. E.g. look at some of the larger sexp files like undo history or savehist-file. I don't think this is a problem if you're not thinking about storing tens of thousands of entries.