Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

In-memory objects add complexity to the codebase and are not strictly needed for the dockerized dashboard #1274

Closed
felipesanches opened this issue Apr 8, 2017 · 4 comments
Assignees

Comments

@felipesanches
Copy link
Collaborator

We do have special cases and additional code for handling file-like in-memory objects. This code was created when we first drafted the drag-n-drop webapp that is hosted on Google App Engine, because server-side filesystem operations were forbidden and also because certain tools were not available on GAE.

These restrictions do not apply to Gooogle Container Engine. Thus, I believe that we would greatly benefit in terms of codebase simplification and clarity, by completely ditching that feature. As the current drag-n-drop implementation is planned to be deprecated by substituting it with a docker-based solution as well, we'll soon be able to save whatever the user uploads on a temporary folder in the container and then simply do the job without the fancy data-juggling we currently do for GAE.

@felipesanches felipesanches added this to the 0.3.0 Collection Dashboard Web UI milestone Apr 8, 2017
@felipesanches felipesanches self-assigned this Apr 8, 2017
@felipesanches
Copy link
Collaborator Author

This is directly related to issue #1230

@davelab6
Copy link
Contributor

davelab6 commented Apr 9, 2017 via email

@felipesanches
Copy link
Collaborator Author

In my opinion it is important, even though it is not top-priority indeed.

Slowdown from disk I/O is only critical when we're performing a whole bunch of tasks in automated/bulk fashion, because the tiny extra delays add-up. For users on-demand upload of files on a low-volume webapp (such as this drag-n-drop solution), the performance hit is negligible. The user's mouse-clicks are probably slower than the disk I/O operations.

And also for the batch-jobs (which would suffer more significantly from disk-I/O latency), we're already having to resort anyway to saving the files to disk when performing git clone operations on the font project repos...

@felipesanches
Copy link
Collaborator Author

Having said that, the benefit of less cruft on the codebase is much more significant then any perceivable performance hit of disk I/O for the handful of font files a user may upload at once when using the drag-n-drop fontbakery checker interface.

@felipesanches felipesanches modified the milestones: 0.5.0 Code Is Well Organized, 0.3.0 Collection Dashboard Web UI Apr 28, 2017
felipesanches added a commit to felipesanches/fontbakery that referenced this issue Apr 29, 2017
issue fonttools#1274
(In-memory objects add complexity to the codebase and are not strictly needed for the dockerized dashboard)
@davelab6 davelab6 modified the milestones: 0.5.0 Code Is Well Organized, 0.3.0 Rewrite internals for modularity, speed Jul 24, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants