Open lmeyerov opened 4 years ago
Especially in distributed settings, a bit of compression can go a long way for faster uploads:
The current REST API supports compression at several layers:
Unclear what the defaults + user overrides should be --
Default:
nginx
localhost
127.0.0.1
Override:
register
settings
plot()
Ex:
graphistry.register(server='nginx') g.plot() # no compression
g.edges(small_df).plot() # no compression
g.edges(big_arr).plot() # auto-compress
graphistry.register(transfer_encoding='gzip', gzip_opts={...}) g = g.settings(transfer_type='parquet') g.edges(small_arr).plot(parquet_opts={...})
Another thought is:
g.plot(compression='auto' | True | False | None)
compression=True
Or somewhere inbetween..
Partially addressed via https://github.com/graphistry/pygraphistry/pull/195 : Avoid reuploads with api=3 + .plot(as_files=True)
api=3
.plot(as_files=True)
Especially in distributed settings, a bit of compression can go a long way for faster uploads:
Easy wins
The current REST API supports compression at several layers:
Trickier wins
Interface
Unclear what the defaults + user overrides should be --
Default:
nginx
/localhost
/127.0.0.1
Override:
register
<settings
<plot()
cascade, be able to decide what happensEx:
Another thought is:
g.plot(compression='auto' | True | False | None)
compression=True
will let us start doing things againOr somewhere inbetween..
Prioritization
References