evocompiler.com

This compiler was built for a different program

So some of what it knows applies to your code and some of it does not. That is expected rather than a fault, and it is not something you have configured wrongly.

You cannot get one of these yet. Tuning runs reach our server and finish, and the step that matches a saved compiler against your source is built and passes end to end — but nothing has been frozen into a compiler through the service yet, so nobody is holding one. Read this page as how the situation will read, rather than as the one you are in.

Nothing is broken

Your build is fine and it is not slower than it would have been. Where a transformation does not apply, you get your ordinary build — the floor is your default compiler, always. You can keep using this exactly as it is.

Schematic a drawing of how the search narrows — not a record of a run
  1. 01 proposed 12 marks
  2. 02 proved 7 marks
  3. 03 faster 4 marks
  4. 04 admitted 2 marks
  5. 05 one compiler one
The marks are drawn, not counted. Twelve, seven, four, two: the shape of a narrowing, chosen to fit the picture. A real run's numbers live on that run's own page, beside the machine they were measured on. This is not that page.

Why a compiler does not transfer whole

The advantage comes from being specific: transformations chosen because they were worth it for one program, with parameters measured on one kind of machine. That specificity is the product, and it is also the reason a compiler built elsewhere fits your code partially rather than perfectly.

How much carries over is a real number and nobody can guess it. Not us, and not whoever built this one. It depends on how close the two programs are, and the only way to find out is to measure against yours.

Tuning it for your code

Point your agent at a C program you already have and tune from here — not from nothing. What this compiler already knows is the starting position, so you are improving on a real result rather than beginning again.

The result is saved as a new version beside this one. Nothing you have is replaced or lost — that part is enforced rather than intended: the store refuses to overwrite a recorded compiler at all, and writing different bytes under an id that already exists is an error rather than a replacement. Going back to an earlier one is not something you can do yet. Every version is kept and the server can return the exact bytes of any of them; what is missing is the endpoint that hands one back, which is published in the API and answers “not built yet”.

Some of this is not available yet. Nothing has been frozen into a compiler through the service yet. What exists today.

Your projects · Connecting your agent

Compiling for an embedded target? Tuning runs your program on the real part, many times. The board has to be disconnected from anything around it while that happens. What that means.