תוכנות שכתובות ב C/C++ על ידי לוקחות 50% מעבד? - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

תוכנות שכתובות ב C/C++ על ידי לוקחות 50% מעבד?


MasterDK

Recommended Posts

דבר ראשון כנראה יש לך מרובה ליבות, והם לוקחות 100% מאחת הליבות. הסיבה היא כנראה שהתוכניות שאתה כותב משתמשות בלולאות שמבצעות קוד כל הזמן. בגלל שהתוכנית שלך מבצעת קוד כל הזמן, היא לא נחה אף פעם ומשתמשת במעבד כל הזמן.

בהנחה שהתוכנית שלך לא עושה איזה חישוב אינטנסיבי (לרוב הסיבה ללקחית 100 אחוז מהמעבד), אתה צריך להורות לה להפסיק לפעול אם אין לה סיבה. הדרך הפשוטה היא למשל ע"י הוספת פקודת שינה (sleep/delay) לפרק זמן קצר מאוד (אפילו כמה מילי שניות יכול להספיק).

למשל התוכנית הזו תיקח הרבה משאבי מעבד:

int main(void) {while (1==1) {}}

והתוכנית הזו לא תיקח (יחסית) כלום:

int main(void) {while (1==1) {sleep(1);}}

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...