---
title: ResidencyComparison
description: Running versus suspended for the same VM over the same wall time.
---

Running versus suspended for the same VM over the same wall time.

## Accessors

### cycles

#### Get Signature

```ts
get cycles(): number;
```

##### Returns

`number`

***

### hold

#### Get Signature

```ts
get hold(): Duration;
```

The wall time both sides cover. Always projected: a comparison is a hypothetical
about a hold nobody has taken yet.

##### Returns

[`Duration`](/microvms-agentd/reference/typescript/classes/duration/)

***

### ratio

#### Get Signature

```ts
get ratio(): string;
```

How many times more the running VM costs, as an exact decimal string.

##### Returns

`string`

***

### running

#### Get Signature

```ts
get running(): CostReport;
```

##### Returns

[`CostReport`](/microvms-agentd/reference/typescript/classes/costreport/)

***

### size

#### Get Signature

```ts
get size(): SizeClass;
```

##### Returns

[`SizeClass`](/microvms-agentd/reference/typescript/classes/sizeclass/)

***

### suspended

#### Get Signature

```ts
get suspended(): CostReport;
```

##### Returns

[`CostReport`](/microvms-agentd/reference/typescript/classes/costreport/)

## Methods

### breakEvenSeconds()

```ts
breakEvenSeconds(): string;
```

How long a VM must stay suspended for the cycle to pay for itself, exact, as a
string. The number a pool scheduler needs, and the one a "100x cheaper" headline
hides.

#### Returns

`string`

***

### breakEvenSecondsNumber()

```ts
breakEvenSecondsNumber(): number;
```

The break-even hold as a number. **Lossy, and named so.**

Seconds, not dollars: no money figure has a numeric accessor anywhere in this file.

#### Returns

`number`

***

### perCycle()

```ts
perCycle(): EstimatedUsd;
```

One suspend/resume: a snapshot write plus a read, per GB.

Without it the honest conclusion inverts — "suspend constantly" reads as free.

#### Returns

[`EstimatedUsd`](/microvms-agentd/reference/typescript/classes/estimatedusd/)

***

### render()

```ts
render(): string;
```

#### Returns

`string`

## Provenance

This page is generated from `bindings/microvms-js/index.d.ts` by TypeDoc 0.28.20 and typedoc-plugin-markdown 4.13.1, run from `site/scripts/gen-reference.mjs` on every `pnpm run sync`, so an edit made here is overwritten by the next run.

To change the page, change the doc comment in the binding's Rust source, then regenerate the declarations with `mise run dts`. `mise run dts:check` fails when the committed file no longer matches the source.