Eve Smoke Test & Performance
The checks of the machine that are not feature tests. The smoke test is the quick check that the machine and the language are sane: each script is a driver with small functions and very simple expect lines, True is True, 0 == 0. It does not depend on the feature tests, and it shows that the program compiles, parses and has no contradiction. The performance benchmarks check that the machine stays fast while features are added: each has a twin in Python, and the history of the runs shows every change.
Smoke Test
The quick check that the machine and the language are sane: 16 scripts, one feature each, in less than a second. Run it with python script/runtest.py smoke.
| Code | Test | What it checks | Source |
| s01 | s01_topology | Topology. The shape of a program: driver, process, functions, procedures, regions. | s01_topology.eve |
| s02 | s02_logic | Logic. The truth values and their operators; an error here is absurd and obvious. | s02_logic.eve |
| s03 | s03_numeric | Numbers. Zero, one, the extremes of the types, the operators and the literals. | s03_numeric.eve |
| s04 | s04_string | Strings. The empty string, concatenation, comparison, escapes and placeholders. | s04_string.eve |
| s05 | s05_collection | Collections. The empty ones, zero values, one element, indexes from 1, literals. | s05_collection.eve |
| s06 | s06_variables | Variables. new, set and let; constants; sharing and copying; scopes. | s06_variables.eve |
| s07 | s07_constants | Constants. set declares a value that never changes: typed or not, global or local. | s07_constants.eve |
| s08 | s08_constant_assign | A constant can't be changed. Assigning it is a compile error and nothing runs. | s08_constant_assign.eve |
| s09 | s09_operators | Operators. Precedence, compound forms, list operators, ranges, membership. | s09_operators.eve |
| s10 | s10_control | Control flow. if, while, loop, for, match, break, skip, labels, the if suffix. | s10_control.eve |
| s11 | s11_subprograms | Subprograms. Functions, procedures, arguments, recursion, lambdas, closures. | s11_subprograms.eve |
| s12 | s12_errors | Errors. raise and recover, jobs with resume, error codes, defer, exit, over, finalize. | s12_errors.eve |
| s13 | s13_types | Types. type(), is, conversions, optional values, ordinals, variants. | s13_types.eve |
| s14 | s14_objects | Objects. Class, methods, visibility, inheritance, extension, comparison. | s14_objects.eve |
| s15 | s15_placeholders | Placeholders. Names, literals, expressions, formats, code points, entities, braces. | s15_placeholders.eve |
| s16 | s16_project | A project. One module, one aspect, one apply: import, life cycle order, safe and Atomic. | s16_project.eve |
A small benchmark for each level, with a twin in Python. Median of 5 runs of the last saved ReleaseSafe measure (2026-10-09 07:01), the Python twin and the Debug build. Run them with python script/bmark.py; add --save to record a run.
| Level | Benchmark | What it measures | Eve | Python | Eve / Python | Debug | Source |
| 1 | p1a_arith | integer and real arithmetic, for and while loops, variables | 197 ms | 72 ms | 2.7x | 1301 ms | source |
| 1 | p1b_calls | function calls, recursion (fib(20)), parameter binding | 79 ms | 43 ms | 1.8x | 578 ms | source |
| 1 | p1c_collections | list appends and iteration (60,000 elements), DataMap and DataSet | 28 ms | 39 ms | 0.7x | 110 ms | source |
| 1 | p1d_strings | string appends, placeholders, regular expression matches | 23 ms | 38 ms | 0.6x | 84 ms | source |
| 2 | p2a_aspects | 5,000 apply of an aspect with two inputs and one output (a new scope and a new boot for each call) | 10 ms | 25 ms | 0.4x | 172 ms | source |
| 2 | p2b_closures | a closure called 50,000 times, a lambda called 50,000 times, a function that makes closures 2,000 times | 47 ms | 40 ms | 1.2x | 278 ms | source |
| 2 | p2c_procedures | 30,000 calls of a procedure with @ parameters, a function with defaults and a vararg procedure | 57 ms | 45 ms | 1.3x | 504 ms | source |
| 3 | p3a_modules | 50,000 calls of module functions (mathx.square, mathx.clamp) and 50,000 reads of a module constant | 108 ms | 52 ms | 2.1x | 936 ms | source |
| 3 | p3b_objects | 5,000 objects of a class and of its subclass, 50,000 method calls, 20,000 extension method calls | 76 ms | 62 ms | 1.2x | 417 ms | source |
| 3 | p3c_module_state | 50,000 calls of a module procedure that changes private state and 50,000 reads of it | 43 ms | 50 ms | 0.9x | 598 ms | source |
| 4 | p4a_parallel_sum | 5 rounds of a parallel group that sums 200,000 integers in 4 parts (split, start, inputs copied by value) | 276 ms | 105 ms | 2.6x | - | source |
| 4 | p4b_channel | 50,000 messages from a producer through 2 workers to a collector (two channels of capacity 100, back-pressure) | 96 ms | 330 ms | 0.3x | - | source |
| 4 | p4c_groups | 250 parallel groups of 4 started aspects each (a task, a thread and an output buffer per start) | 174 ms | 208 ms | 0.8x | - | source |
| 4 | p4d_tasks | 50 jobs that spawn 20 async procedures each and wait for them at done (the tasks of a job share one core) | 165 ms | 102 ms | 1.6x | - | source |
| 4 | p4e_garbage | 200,000 iterations that each build a string and a list and drop them; watch the peak memory | 219 ms | 99 ms | 2.2x | - | source |
History
The total of the median times of the benchmarks of the level, for every saved run, newest first. One table for each level; compare only runs of the same build on the same machine.
Level 1
| Date | Build | Version | Commit | Total |
| 2026-10-09 07:01 | ReleaseSafe | 0.0.2 | 83229cb | 327 ms |
| 2026-10-08 16:41 | Debug | 0.0.1 | d1696a5 | 2073 ms |
| 2026-10-08 16:22 | ReleaseSafe | 0.0.1 | a2abbe8 | 435 ms |
| 2026-10-07 05:09 | ReleaseSafe | 0.0.1 | 52b4149 | 399 ms |
| 2026-10-07 04:19 | ReleaseSafe | 0.0.1 | ecaed22 | 400 ms |
| 2026-10-07 04:18 | Debug | 0.0.1 | ecaed22 | 1843 ms |
Level 2
| Date | Build | Version | Commit | Total |
| 2026-10-09 07:01 | ReleaseSafe | 0.0.2 | 83229cb | 114 ms |
| 2026-10-08 16:41 | Debug | 0.0.1 | d1696a5 | 955 ms |
| 2026-10-08 16:22 | ReleaseSafe | 0.0.1 | a2abbe8 | 212 ms |
Level 3
| Date | Build | Version | Commit | Total |
| 2026-10-09 07:01 | ReleaseSafe | 0.0.2 | 83229cb | 228 ms |
| 2026-10-08 16:41 | Debug | 0.0.1 | d1696a5 | 1951 ms |
| 2026-10-08 16:22 | ReleaseSafe | 0.0.1 | a2abbe8 | 319 ms |
Level 4
| Date | Build | Version | Commit | Total |
| 2026-10-09 07:01 | ReleaseSafe | 0.0.2 | 83229cb | 931 ms |