zlacker

[parent] [thread] 8 comments
1. chaps+(OP)[view] [source] 2022-10-20 02:16:17
No it's not. It tells me exactly nothing useful about the postgresml performance because it's impossible for me to rule out redis and the http server when factoring in performance. It's two hops, with a guaranteed delay that the postgres setup won't have.

If they wanted it to be a fair comparison they should have used FDWs to connect to the same redis and http server that the python benchmarks tested against.

replies(2): >>vasco+G >>darksa+X7
2. vasco+G[view] [source] 2022-10-20 02:22:32
>>chaps+(OP)
The point is you don't need those hops if you use postgresML.

It's like if I told you to move to a place where you can walk 5mins to work, and you tell me it's not a fair comparison because right now you have to drive to the station and then get on a train and you're interested in a comparison where you walk to the train instead. You don't need the train because you're already there!

You don't need the network hops exactly because the data is already there in the right way.

replies(2): >>chaps+n1 >>FreakL+Gj
◧◩
3. chaps+n1[view] [source] [discussion] 2022-10-20 02:29:55
>>vasco+G
I get the point of the post, but I still don't see how it's remotely useful to understand the performance in postgresml, as someone who's interested in using it for my own tooling. Maybe I don't spend enough time in ML space to know how often they use HTTP/redis in their flows as much as they do. Most of my stuff is just data on-disk, where adding two additional services would be embarrassingly overkill.

Don't you think it would be incredibly useful as a baseline if they included a third test with FDWs against redis and the http server?

replies(1): >>theamk+R6
◧◩◪
4. theamk+R6[view] [source] [discussion] 2022-10-20 03:31:05
>>chaps+n1
Are there any other FDWs that do ML inference?

Remember, this is not plain file serving -- this is actually invoking XGBoost library which does complex mathematical operations. The user does not get data from disk, they get inference results.

Unless you know of any other solution which can invoke XGBoost (or some other inference library), I don't see anything "embarrassingly overkill" there.

replies(1): >>chaps+r9
5. darksa+X7[view] [source] 2022-10-20 03:38:59
>>chaps+(OP)
The article very clearly was pointing out that the performance advantage of postgresml comes from the architecture. Hell, they are even using the same exact algorithm. What benefit is to be had from benchmarking the same algorithm on the same architecture? Do we also need to make sure Teslas have internal combustion engines when we compare their performance to ICE cars?
◧◩◪◨
6. chaps+r9[view] [source] [discussion] 2022-10-20 03:58:14
>>theamk+R6
My issue isn't with the inference step or even the reading step, it's the fetching step.
replies(1): >>montan+qa
◧◩◪◨⬒
7. montan+qa[view] [source] [discussion] 2022-10-20 04:12:47
>>chaps+r9
How are you doing online ML inference, without fetching data?
◧◩
8. FreakL+Gj[view] [source] [discussion] 2022-10-20 05:56:12
>>vasco+G
You don't need those hops if you use Python either. Python runs inside Postgres.

https://www.postgresql.org/docs/current/plpython.html

Naturally Rust or C functions will still be faster.

replies(1): >>levkk+BN1
◧◩◪
9. levkk+BN1[view] [source] [discussion] 2022-10-20 16:23:52
>>FreakL+Gj
PostgresML v1.0 was doing exactly that. When we rewrote in Rust for v2.0, we improved 35x: https://postgresml.org/blog/postgresml-is-moving-to-rust-for...
[go to top]