| 2 Aug 2023 |
raitobezarius | I don't think the web performance matters, does it? | 18:07:09 |
raitobezarius | also without GIL it goes faaaaaaaast | 18:07:17 |
raitobezarius | plus what matters is getting right database query honestly, so good ORM is the most important thing (?) | 18:07:31 |
das_j | In reply to @raitobezarius:matrix.org why? :p Upside of a proper language: it's fast and you can also use it to replace the code that links against nix | 18:07:40 |
K900 (deprecated) | I vote Rust because the next obvious step would be to rip out cppnix and replace it with tvix-eval | 18:08:01 |
K900 (deprecated) | Also my guess would be that the queries we actually care about are non-ORM-able | 18:08:18 |
raitobezarius | I mean I want to do Rust too but I just don't want to present myself as a basic RIIR person | 18:08:21 |
K900 (deprecated) | But what if you are | 18:08:29 |
raitobezarius | In reply to @k900:conduit.0upti.me Also my guess would be that the queries we actually care about are non-ORM-able like the one where you get a free ID right | 18:08:29 |
K900 (deprecated) | Like I'm expecting the fast way of doing things to be some select-for-update nonsense | 18:08:53 |
das_j | I think a good concept to replace the web thingie would be to write an API server and call that api from the current web pages. This way we can port feature after feature and end up with a CSR application and a new API that is more complete than the current one | 18:09:30 |
| * raitobezarius In reply to @janne.hess:helsinki-systems.de I think a good concept to replace the web thingie would be to write an API server and call that api from the current web pages. This way we can port feature after feature and end up with a CSR application and a new API that is more complete than the current one nods | 18:09:38 |
das_j | (replacing perl with nginx in the end) | 18:09:42 |
raitobezarius | In reply to @k900:conduit.0upti.me Like I'm expecting the fast way of doing things to be some select-for-update nonsense the biggest problem I have identified IMHO is the builds table | 18:09:54 |
raitobezarius | and I think the trivial solution is just to partition it | 18:10:02 |
raitobezarius | Planning Time: 1.121 ms
JIT:
Functions: 20
Options: Inlining true, Optimization true, Expressions true, Deforming true
Timing: Generation 11.320 ms, Inlining 1887.909 ms, Optimization 239.903 ms, Emission 327.814 ms, Total 2466.946 ms
Execution Time: 39210.169 ms
| 18:10:22 |
das_j | We talked about that and I have no valuable input as my knowledge about that isn't too good | 18:10:27 |
raitobezarius | here's the cost of a explain analyze select count(*) from builds; | 18:10:30 |
raitobezarius | In reply to @janne.hess:helsinki-systems.de We talked about that and I have no valuable input as my knowledge about that isn't too good we need to decide on the partition key | 18:10:38 |
raitobezarius | either IDs or dates | 18:10:41 |
raitobezarius | or whatever locally makes sense | 18:10:45 |
raitobezarius | and we don't have to lock a choice, we can just try things | 18:10:53 |
K900 (deprecated) | Wait what is it even doing, a full scan? | 18:11:22 |
raitobezarius | but database design is indeed another separate concern from the web part, etc. | 18:11:24 |
raitobezarius | In reply to @k900:conduit.0upti.me Wait what is it even doing, a full scan? lol | 18:11:28 |
raitobezarius | are you ready? | 18:11:29 |
raitobezarius | Finalize Aggregate (cost=1666154.70..1666154.71 rows=1 width=8) (actual time=39057.027..39207.028 rows=1 loops=1)
-> Gather (cost=1666153.87..1666154.68 rows=8 width=8) (actual time=39047.839..39206.943 rows=9 loops=1)
Workers Planned: 8
Workers Launched: 8
-> Partial Aggregate (cost=1665153.87..1665153.88 rows=1 width=8) (actual time=38801.196..38801.202 rows=1 loops=9)
-> Parallel Index Only Scan using indexbuildsontimestamp on builds (cost=0.57..1596964.67 rows=27275678 width=0) (actual time=0.445..37043.934 rows=24248822 loops=9)
Heap Fetches: 0
| 18:11:37 |
K900 (deprecated) | Cause like just truncate the sodding thing WHAT | 18:11:42 |
raitobezarius | yes exactly my reaction | 18:11:51 |
K900 (deprecated) | A 30 seconds index scan? | 18:11:56 |