HackerTrans
TopNewTrendsCommentsPastAskShowJobs

czardoz

no profile record

comments

czardoz
·5 месяцев назад·discuss
Exactly. OpenClaw is good, but expects the model to behave in a certain way, and I've found that the local options aren't smart enough to keep up.

That being said, my gut says that it should be possible to go quite far with a harness that assumes the model might not be quite good (and hence double-checks, retries, etc)
czardoz
·5 месяцев назад·discuss
Really looking for a minimal assistant that works with _locally hosted models_. Are there any options?
czardoz
·3 года назад·discuss
If this stack is heavily skewed towards numerical computations, Cinder might require a lot of tuning to be effective.
czardoz
·3 года назад·discuss
It has some elements of WSGI, but has expanded into its own thing which supports asyncio (this happened before ASGI was a thing).
czardoz
·3 года назад·discuss
I'd love to see lazy imports become part of the upstream at some point.
czardoz
·3 года назад·discuss
Cinder's feature set is highly optimized for IO bound web services that run under a forked-worker model.

For example: you start a main process, warm it up with a few requests, run the JIT compiler and then fork off worker processes to handle the main chunk of traffic.

As of now, it requires hand-tuning to get the best possible performance.

In terms of use cases, Cinder does the best when faced with "business logic" code (lots of inheritance, attribute lookups, method calls, etc). It can speed up numerical computations too, but you're probably better off using a library if that's the majority of the workload.
czardoz
·3 года назад·discuss
I worked on Cinder, and on the web server. Happy to answer technical questions if any :)
czardoz
·5 лет назад·discuss
Can you elaborate on what you mean by "skip" Cython compilation on dev builds? How would you then test changes to Cython code?
czardoz
·5 лет назад·discuss
Unlike RPython, Static Python in cinder is not really a subset of Python, it can compile everything (although it will throw compile time errors if it sees mismatched types). If it cannot determine type information, it just assumes the type could be anything, and falls back to slower CPython behavior.
czardoz
·5 лет назад·discuss
> Why is “developers might have to interact with it” some kind of non-starter, as though having a compile phase is a worse evil than a hyper-slow language?

For big monoliths (like ours at IG), the server start-up can take more than 10sec, which is already super high for a "edit -> refresh" workflow. Introducing a Cython like compilation step is really a major drawback for every single developer.

For smaller projects, Cython works extremely well (and we do use it for places where we need to interface with C/C++).
czardoz
·5 лет назад·discuss
> Well, the compilation step is alredy present in current py -> pyc phase

Yes, but developers don't have to ever interact with it.

> Also, look at how cython work

Cython works by adding a separate build step. Changing a Cython module requires you to recompile it, which is avoided with a JIT.
czardoz
·5 лет назад·discuss
> So much stuff just from the readme would introduce breaking changes to the Python ecosystem.

Being compatible with the rest of the Python ecosystem is the main reason why Cinder is built on top of CPython. Although yes, some features are indeed very experimental.

> in a world where we have type annotations, JITs feel like a massive step back. Stuff like mypyc could get us way further into high performance stuff

Ah, but that introduces a separate compilation step, which may not be tolerable in every situation.
czardoz
·5 лет назад·discuss
Here's some good documentation about v8's JIT: https://github.com/thlorenz/v8-perf/blob/master/compiler.md

Note: Never worked on v8, just liked the information here.
czardoz
·5 лет назад·discuss
Yes, Static Python especially relies heavily on strict modules, since they enable us to perform module-local analysis, which enables some cool optimizations.