4 ms·
Looks cool and useful. One note: "ROAPI is made up of 4K lines of Rust. This line count is low due to the intense use of 3rd party libraries." This actually s
by rexreed 5y ago
Looks cool and useful. One note:
"ROAPI is made up of 4K lines of Rust. This line count is low due to the intense use of 3rd party libraries."
This actually seems like a high line count, and that's not counting all the 3rd party libraries.
While not sexy, this is the sort of thing that PHP can do fairly easily in a much smaller # of lines of code and operate with lower resource requirements. I venture that this could be done using CSV parse, json decode, and other built-in PHP functions and use small infrastructure to make it work. I know PHP doesn't have a lot of love, but isn't this the sort of thing PHP is made for? Simple processing and hosting for API-based access to static file information? Is there a reason why Rust is needed with all the baggage?
- marklit 5y agoThe Parquet support, with the ability to handle row groups, skip over data not of interest to a query and aggregations that will likely be 3 orders of magnitude quicker are a pretty unique feature. Also, there's no need to write any code here, it's a CLI app. There's much less that could go wrong versus rolling your own.
- rexreed 5y agoInteresting. I've used this PHP Parquet implementation in the past: https://github.com/jocoon/php-parquet https://github.com/jocoon/php-parquet. Whatever works!
- houqp 5y agoThis is true, the core of it is Apache arrow datafusion query engine, which is also a project I help maintain. I doubt you will be able to beat it with PHP though ;) The VM overhead alone will cause a big hit to your performance even if we can get JIT to work.
- jhgb 5y ago> even if we can get JIT to work. But if you assume JIT, you can also compile queries into native code on the fly. That should at the very least offset some of the difference.