المضيف وحدود التنفيذ
لبات 0.7.0 · الإصدار الحالي
المضيفان وسقوف الترجمة والتنفيذ والذاكرة والخرج والوقت.
محتويات الصفحة
المضيفان
يشغّل المتصفح المترجم والآلة في عامل محلي داخل WebAssembly دون إرسال المصدر إلى خادم. يرفض الاستيراد الخارجي ولو لم يستدع، بالنتيجة policy-rejection / foreign-imports-not-supported. لا يدعم وحدات مصدر المستخدم أو C أو HTTP أو Raylib. المضيف الأصلي يشغّل البرنامج على Linux بصلاحيات العملية وليس صندوقا معزولا.
سقوف الموارد
MiB = 1048576 bytes; KiB = 1024 bytes.
| المورد | الأصلي | المتصفح |
|---|---|---|
| بايتات المصدر | 16 MiB | 1 MiB |
| الوحدات المعجمية | 1048576 | 131072 |
| عقد الصياغة | 1048576 | 131072 |
| عمق الصياغة | 256 | 128 |
| ذاكرة المترجم العاملة | 512 MiB | 128 MiB |
| بايتات البايت كود | 64 MiB | 8 MiB |
| الدوال | 65536 | 4096 |
| الاستيرادات الخارجية | 4096 | 0 |
| ثوابت الأعداد الصحيحة | 1048576 | 131072 |
| ثوابت الأعداد العائمة | 1048576 | 131072 |
| مراجع النصوص | 1048576 | 131072 |
| بايتات النصوص | 16 MiB | 2 MiB |
| حمولة سطر الإدخال | 65536 bytes | 65536 bytes |
| تعليمات البايت كود | 4194304 | 524288 |
| السجلات لكل دالة | 65536 | 8192 |
| التعليمات المنفذة | none | 10000000 |
| إطارات وقت التشغيل | 4096 | 512 |
| مواضع قيم وقت التشغيل | 1048576 | 131072 |
| ذاكرة التنفيذ المملوكة للآلة | 256 MiB | 64 MiB |
| الخرج الملتقط | none | 256 KiB |
| زمن الفحص | none | 2 s |
| زمن التنفيذ | none | 3 s |
| الذاكرة الخطية | n/a | 256 MiB |
| وظائف العامل المتزامنة | n/a | 1 |
none لا سقف منتج، وn/a لا ينطبق. يوقف العامل أول حد ملحوظ.
حساب الذاكرة
يشمل المصدر كل بايت مقروء بما فيه علامة بداية النص. تشمل ذاكرة المترجم كل تخصيص حي للترجمة. تشمل ذاكرة التنفيذ الإطارات ومواضع القيم وإعارة النص والنصوص الحية المملوكة للتنفيذ، وتستبعد البرنامج الثابت والمكتبات وتخصيصات الشيفرة الخارجية. يتقدم فشل الحد البنيوي على حد الذاكرة عند العملية نفسها. فشل التخصيص دون السقف هو host-failure / allocation-failed.
الوقت والخرج
يبدأ مؤقت الفحص حين يقبل العامل المحمّل المهمة، ومؤقت التنفيذ حين يقبل التشغيل بعد نجاح الفحص. لا يدخل التحميل في المؤقتين، ولا يدخل انتظار إدخال المستخدم في مؤقت التنفيذ. أول حد ملحوظ يحدد النتيجة؛ بلوغ الموعد ينهي العامل بسبب time-limit. يرفض حد الخرج الاستدعاء الذي يتجاوزه بأكمله ويبقي الخرج السابق جزئيا. ليس للتنفيذ الأصلي سقف منتج للتعليمات أو الوقت أو الخرج، مع بقاء الحد التمثيلي لعداد التعليمات.
نطاق الإصدار والمراجع
تصف هذه الصفحة لبات 0.7.0. نص MVP المرتبط سجل تاريخي، ولا يصف كل الإضافات الحالية.
في 0.7.0 البايت كود الخاص 7 وسلك نتيجة المتصفح 3. يحسب حد الذاكرة أيضا تخزين القوائم والسجلات والنتائج الحية، وتضاف ميزات الملفات والإدخال إلى نطاق MVP التاريخي.
حلقة محدودة في المتصفح
افتح المثال في المتصفح فقط. لا تشغله أصليا، فالمضيف الأصلي بلا سقف تعليمات منتج. أول حد ملحوظ يحدد النتيجة، وقد يصل مؤقت الوقت قبل سقف التعليمات على جهاز بطيء.
التنفيذ: المتصفح فقط · لبات 0.7.0
- لا يتطلب معرفة سابقة لفتحه وفحصه.
الإدخال: لا يحتاج إلى أسطر إدخال.
دالة ابدأ_الرئيسية() -> ص64 {
طالما صواب {}
أرجع 0.
}
النتائج المتوقعة
{
"browser": {
"check": "success",
"class": "limit-stop",
"reason": "execution-instruction-limit",
"ceiling": 10000000,
"output": ""
}
}