Tirer parti de FFI de BUN pour la compilation C-Fast Cast dans les projets TypeScript. Je pensais initialement que l'intégration du code C avec TypeScript serait une entreprise complexe, mais l'interface de fonction étrangère de BUN (FFI) simplifie remarquablement le processus. Voici comment réaliser les performances C natives directement dans votre code de type.
Configuration initiale: prévenir les erreurs de typeScript
Commencez par initialiser un nouveau projet avec BUN, assurant une bonne configuration de typeScript:
<code class="language-bash">bun init -y # Skips interactive prompts</code>
Pourquoi compiler C dans TypeScript?
Cette approche vous permet d'exploiter la vitesse brute de C dans un environnement JavaScript. BUN V1.2's bun:ffi
permet la compilation Cage C directe dans TypeScript, éliminant le besoin de WebAssembly ou node-gyp
- résultant en une vitesse d'exécution native.
un simple "bonjour, monde!" Exemple
Créons une fonction C de base:
<code class="language-c">// hello.c #include <stdio.h> void hello(const char* name) { printf("Hello %s from C!\n", name); }</code>
Maintenant, le code TypeScript correspondant (main.ts
):
<code class="language-typescript">import { cc } from "bun:ffi"; const { symbols: { hello } } = cc({ source: "./hello.c", symbols: { hello: { args: ["cstring"], returns: "void" } } as const, }); const name = "World"; const cString = Buffer.from(name); hello(cString); // Output: "Hello World from C!"</code>
exécuter avec:
<code class="language-bash">bun run main.ts</code>
Performances et applications du monde réel
Benchmarking révèle une vitesse impressionnante: environ 6,26 ns par appel (y compris un calefrème de chignon 2ns).
Les cas d'utilisation pratiques comprennent:
Considérations importantes
Guide de démarrage rapide
<code class="language-bash">curl -fsSL https://bun.sh/install | bash</code>
<code class="language-bash">bun init -y</code>
hello.c
et main.ts
des exemples ci-dessus. Pour d'autres tutoriels et mises à jour, suivez mon blog!
Lire plus approfondie: Documentation FFI BUN, blog Bun.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!