הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   substr-פונקציה יותר יעילה, לתגובתכם. (https://hosts.co.il/forums/showthread.php?t=48180)

Daniel 24-06-07 12:16

substr-פונקציה יותר יעילה, לתגובתכם.
 
אני לא יודע איך substr עובדת, אבל עדיין, חשבתי על פונקציה יותר יעילה, אבל רק במיקרים שהטקסט קצר(לפי דעתי-תקנו אותי אם לא), אז הנה הפונקציה:

PHP קוד:

function substr_faster($start$end$string) {
if(
$end $start 4) { return substr($start,$end,$string); } else {
$to_return null;
while(
$start <= $end) {
$to_return.= $string{$start};
$start;
}
}


אני לא יודע מאיפה בא לי הרעיון שלטקסטים קצרים זה יותר יעיל, אבל אני אחכה למישהו שיסביר איך substr פועלת D:

DorWD 24-06-07 13:55

איך זה אמור להיות יותר יעיל אם אתה כבר ממילא משתמש בsubtstr בתוך הפונקציה?
PHP קוד:

string substr string $stringint $start [, int $length] ) 

$string - זה המחרוזת שאתה רוצה לחתוך
$start - מאיפה חתיכה אמורה להתחיל
$length (אופציונלי) - אורך החיתוך

בהצלחה

Daniel 24-06-07 14:04

ציטוט:

נכתב במקור על ידי DorWD (פרסם 506049)
איך זה אמור להיות יותר יעיל אם אתה כבר ממילא משתמש בsubtstr בתוך הפונקציה?
PHP קוד:

string substr string $stringint $start [, int $length] ) 

$string - זה המחרוזת שאתה רוצה לחתוך
$start - מאיפה חתיכה אמורה להתחיל
$length (אופציונלי) - אורך החיתוך

בהצלחה

טעות שלי, התבלבלתי.


ואנא, קרא את כול הקוד, ותבין.

Meir 24-06-07 14:11

הפונקציה substr כתובה בשפת C הסיכוי שתבנה פונקציה יותר יעילה בשפת PHP כמעט אפסי...

RS324 24-06-07 14:20

רוצה לבדוק מה יותר יעיל ? פשוט מאד
תריץ לולאה על כל אחת מהפונקציות 1000 פעם ותחשב זמנים

Daniel 24-06-07 15:27

עשיתי משהו דומה בפונקציה אחרת, אבל זה אידיוטי לגמריי.

כל רענון יש עומס שונה, ככה שזה זמן אחר...


elbaz.maor: לאדע, מישהו יכול להגיד איך substr בנוייה?

Eran-s 24-06-07 15:32

ציטוט:

נכתב במקור על ידי MasterT (פרסם 506164)
כל רענון יש עומס שונה, ככה שזה זמן אחר...

ובגלל זה מריצים בשרת ביתי

Daniel 24-06-07 15:33

בכל מקום.

אני אנסה שוב, ליתר ביטחון, אך אני בטוח ב-99&#37; שכל רענון ה-microtime שזה יקח יהיה שונה.

Eran-s 24-06-07 15:35

ציטוט:

נכתב במקור על ידי MasterT (פרסם 506171)
בכל מקום.

אני אנסה שוב, ליתר ביטחון, אך אני בטוח ב-99% שכל רענון ה-microtime שזה יקח יהיה שונה.

ההבדל בכל הרצה של אותה פונקציה הוא מזער בהתאם לעומס השרת (כשזה שרת ביתי אין הבדל כמעט) ולכן רותם הציע להריץ 1000 פעמים, ותעשה השוואות, פשוט תחבר הכל ותעשה ממוצע לכל הרצה.

Daniel 24-06-07 18:18

עשיתי משהו שלוקח ממוצע, וצדקתם P:,
ב-1000 פעמים, או משו כזה, לא זוכר, זה לקח בממוצע 0.4, וב-1000 פעמים בשיטה שלי, זה לקח 0.7.


P:, חשבתי על רעיון נחמד איך להשוות D:

תודה רבה על הרעיונות, אפשר לנעול, אלא אם כן מישהו יביא דעה אחרת D:


כל הזמנים הם GMT +2. הזמן כעת הוא 19:48.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ