Comments (8)
Hi, I've had a quick look at this issue, and it seems the change is a bit more involved than it looks on the surface. ZStandard is a compression algorithm, not an archival format, that is, it can't organize multiple files into a single archive. The approach used now, 7Zip, supports both archival and compression (to be precise, it supports a collection of different compression formats, but not ZStandard).
Now, in order to use ZStandard compression method, it's required to come up with an alternative archival method, probably tar or something similar, to put all individual GeoJSON features into a single file first, and then apply compression to that file.
It's all definitely doable, and might be beneficial for the Timeshape project, if artifact size doesn't increase substantially, and decompression time is decreased, so let's do it! I obviously can't promise any timelines here, but if you're interested in giving it a try, I'll gladly accept a pull request from you. If you're interested in giving it a stab, and if you need guidance on the project setup or any other details about the project, besides what's already written in the README, please ask here, and I'll do my best to provide clarification.
from timeshape.
I did'nt read the source code of timeshape and did'nt know about it.
I have imagined that geojson was compressed first with lzma and then stored with no compression in a folder inside the library jar/zip file.
But now I found that my assumption was false. :)
from timeshape.
Ok, I've tried using ZStandard and I must say I'm positively surprised by its performance! I was expecting it to have a better decompression time, but in practice it also offers better compression time (mostly irrelevant for Timeshape users) and compression rate (5% better). Decompression time, at least on my laptop, has dropped significantly, and now TimeZoneEngine#initialize
method takes only 1300 milliseconds for Tar+ZStandard, versus 4300 milliseconds for 7z+LZMA4. This new approach is definitely worth using, so I'll make a release with it.
from timeshape.
I've just released 2018d.6 that uses ZStandard for an increased compression rate and faster speed. Could you please give it a try and close this issue if all is fine on your side?
from timeshape.
Ok, I'll go ahead and close this one now.
from timeshape.
I will test the new version for getting the improvements.
Thanks for the hard work.
from timeshape.
It worked fine.
Wondering if replacing Protobuff with Capn'Proto can give any performance while querying and if the performace/memory tradeoffs worths.
from timeshape.
Interesting regarding Cap'n Proto, I've created #29 to track this.
from timeshape.
Related Issues (20)
- Please upgrade com.google.protobuf ยป protobuf-java to address 2 vulnerabilities HOT 3
- Asia/Qostanay time zone is missing HOT 5
- Collaboration with TimeZoneMap HOT 1
- remove [DEBUG] messages when starting up timeshape HOT 3
- Empty ZoneId HOT 2
- Initialize with TarArchiveInputStream HOT 3
- Version 2019b.8 depends on geojson-proto 1.1.1-SNAPSHOT, which is not on Maven HOT 3
- 2020a HOT 2
- Making "Some of the zone ids were not recognized by the Java runtime" messages WARNings instead of ERROR. HOT 6
- Improve configurability of TimeZoneEngine class HOT 1
- sbt -> maven migration HOT 3
- best way to using timeshape in spring boot HOT 1
- Index.queryPolyline does not return last empty SameZoneSpan HOT 2
- Zone Id is different from https://developers.google.com/maps/documentation/timezone/get-api-key HOT 7
- Upgrade to timezone-boundary-builder 2020d HOT 1
- DateTimeException when including version 2020d.11 in a Spring application HOT 11
- zstd-jni-1.5.0-4 issue HOT 3
- Incorrect ZoneId HOT 4
- The known vulnerability in the shared library zstd which timeshape-builder depends on.Can you help upgrade to patch versions? HOT 2
- UnsatisfiedLinkError in Android HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from timeshape.