• 0 Posts
  • 154 Comments
Joined 11 months ago
cake
Cake day: August 12th, 2023

help-circle



    1. Yes, but devil’s advocate: you also need a program to text files, needing a program to read sqlite files is not worse.

    2. I am confused by your requirements. Why do you need to store your data as json or XML? Would it suit your requirements to read in text files, convert to sqlite for processing and then save as a text file? What do you gain by being able to edit the files in a text editor, as opposed to a table editor? Do you maybe just need a config file (e.g. in toml format) and don’t actually do much data processing?











  • A new database specifically designed for financial transactions.

    I’m not an expert on finance software, so I can’t critically assert how good they really are. But they claim much much higher throughput than traditional databases, higher fault tolerance, self healing networks if several replicas are running, etc.
    From a purely technical standpoint it’s interesting for being written in zig. Because the database scope is so narrow they know exactly how much memory they will need on startup and just allocate all required memory on startup and never allocate more, nor free the aquired memory.


  • They never would have been able to get the same performance from any solution that incorporates a general purpose database.

    Their requirements/explicitly-not-required-ments include that it’s fine to drop 1s of data. That would be an insane proposition for any other database. Also their read/write rates and latency requirements are unusual to say the least.

    It’s the same thing as tiger beetle. Ridiculously narrow domains allow for ridiculous performance improvements compared to of-the-shelf solutions.


  • The example is wrong, because they used 1.0.

    But in general x-x does not have to equal 0, that is true. I’m pretty sure Nan and infinity would yield not 0.0, but Nan instead.

    And if you reach x with two different calculations, e.g. x1 = a - b - c and x2 = a - c - b it is certainly not guaranteed that x1 - x2 == 0.0




  • My comment was not asking for clarification, I am contradicting your claim.

    Granted, my experience is mostly limited to python and rust. But I find that in python you reach the end of “jump to definition” much much sooner. Fundamental core libraries of Python are written in C, simply because the performance required cannot be reached with python alone. So after jumping two levels you are through the thin wrapper type and your compiler will give you an “I don’t know, it’s byte code”.
    In Rust I have yet to encounter this. Byte code is rarely used as a dependency, because compiling whatever is needed is no issue - you’re compiling anyway - and actually can allow a few more optimizations to be performed.

    Edit: since wasm is not yet wide spread, JavaScript may be the best language to dig deep into libraries.