Skip to content

Feature Discussion: Reduce native bundle size for small apps #58

Description

@mys210

Feature Discussion: Reduce native bundle size for small apps

Summary

On Linux, even a minimal "Hello World" app produces a 121 MB executable.
This issue is scoped to the Linux build only; other platforms may differ.

Reproduction

A minimal app.tsx that only renders centered Hello World text:

import { render } from '@gpuix/react'

function HelloApp() {
  return (
    <div style={{ width: '100%', height: '100%', display: 'flex', alignItems: 'center', justifyContent: 'center' }}>
      <text>Hello World</text>
    </div>
  )
}

render(<HelloApp />, { title: 'Hello World', width: 400, height: 300 })

Build:

bun run build

Result on Linux:

-rwxr-xrxy 1 my my 121M dist/hello
ELF 64-bit LSB executable, x86_64, dynamically linked,
interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0,
not stripped

Linux baselines

Build Size
Empty Bun standalone 78 MB
GPUIX Hello World 121 MB
GPUIX delta over plain Bun +43 MB
Compressed tarball 50 MB (59% compression)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions