ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורחאורח · ·
 

הודעה פורסם: 07/02/2020 - 03:02
נושא ההודעה: נכון ש ss "מחליף" את netstat. מה היכולות של הראסבר

בשרשור של גישה מבחוץ לאתר מקומי נכתב:
בטיטו :
אורח :
באיזו מידה כלי שמצריך התקנת Rust, ואפילו אם היה עומד בפני עצמו, לא כבד מדי לראסבריפיי?

ss "מחליף" את netstat

תודה. האם אפשר לקבל התיחסות ליכולות של הראסברי (למשל יוכל להריץ Rust בלי בעיה)?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
בטיטואורח · ·
 

הודעה פורסם: 07/02/2020 - 06:56
נושא ההודעה:

אכלת לנו תראס(ט)

ראסט היא שפת סיסטם. קרובה במהירות שלה ל C++
היא האנדרדוג של גו.
בניגוד לגו עד כמה שזכור לי אתה לא יכול לקמפל קרוס פלטפורם ,
כך שאם יש במאגרים שלך (ראספביאן? ארץ'?) קרגו אולי ורק אולי וזה בספק גדול הקימפול ידגדג את המעבד.
ברגע שיש לך בינארי שהוא ללא X קשה לי להאמין שזה יזיז לפאי. בניגוד נגיד לווב סרבר. או סביבה גראפית רחמנא ליצלן


עכשיו דקה על iptables
tcpdump "יושבת" לך על האינטרפייס . על הברזלים. בלבל הנמוך של ה OSI
הרבה לפני דברים יפים כמו fw
עד כמה שזכור לי

ט.ל.ח.


וואלק נשרף הטבעות בצל בגללך
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/02/2020 - 15:31
נושא ההודעה: libpcap אכן לפני netfilter

בטיטו :

עכשיו דקה על iptables
tcpdump "יושבת" לך על האינטרפייס . על הברזלים. בלבל הנמוך של ה OSI
הרבה לפני דברים יפים כמו fw
עד כמה שזכור לי

מקבל שלא טעה: libpcap אכן לפני netfilter. כנראה שדוגמא עתיקה לתוצאת החיפוש בגוגל שהוא מזכיר: יש גם קוד.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 07/02/2020 - 18:37
נושא ההודעה: Re: נכון ש ss "מחליף" את netstat. מה היכולות של הר

אורח :
בשרשור של גישה מבחוץ לאתר מקומי נכתב:
בטיטו :
אורח :
באיזו מידה כלי שמצריך התקנת Rust, ואפילו אם היה עומד בפני עצמו, לא כבד מדי לראסבריפיי?

ss "מחליף" את netstat

תודה. האם אפשר לקבל התיחסות ליכולות של הראסברי (למשל יוכל להריץ Rust בלי בעיה)?


בטיטו סתם מחרטט.

Rust היא שפה מקומפלת (גם Go) לפורמט טבעי.
כך שאם יש תמיכה (ויש) ל Rust ב PIE, אין לך מה לדאוג.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
בטיטואורח · ·
 

הודעה פורסם: 07/02/2020 - 19:00
נושא ההודעה: Re: נכון ש ss "מחליף" את netstat. מה היכולות של הר

Anonymous :

בטיטו סתם מחרטט.

מאשר
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 08/02/2020 - 13:22
נושא ההודעה: Rust היא שפה מקומפלת לפורמט טבעי. למה הכונה בפורמט טבעי?

Anonymous :
Rust היא שפה מקומפלת (גם Go) לפורמט טבעי.
כך שאם יש תמיכה (ויש) ל Rust ב PIE, אין לך מה לדאוג.

למה הכונה פורמט טבעי?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10316 · מיקום: כדור הארץ
 

הודעה פורסם: 09/02/2020 - 10:06
נושא ההודעה:

פורמט טבעי: מורץ ישירות ע"י המעבד, אין צורך ב-vm של השפה או intrepreter כדי להריצה.

אפשר לבצע cross compile עם Rust. כמו כן, להבדיל מ־Go היא לא צריכה GC ו-runtime שנבנה לתוך הבינארי.

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
בטיטואורח · ·
 

הודעה פורסם: 09/02/2020 - 12:13
נושא ההודעה:

כשאהיה גדול אני רוצה לתכנת ב Rust
אבל באמת להתפרנס מזה
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10316 · מיקום: כדור הארץ
 

הודעה פורסם: 09/02/2020 - 15:00
נושא ההודעה:

הנה דוגמה ל-cross compile עבור rpi:
Cross Compiling Rust for the Raspberry Pi

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
בטיטואורח · ·
 

הודעה פורסם: 09/02/2020 - 19:47
נושא ההודעה:

mksoft :
הנה דוגמה ל-cross compile עבור rpi:
Cross Compiling Rust for the Raspberry Pi


אוקי בוא. כן?
זה ממש אבל ממש לא
קוד:
env GOOS=linux GOARCH=arm GOARM=5 go build

"מהקופסא"

ולמה הכוונה ב "להבדיל מ־Go היא לא צריכה GC ו-runtime שנבנה לתוך הבינארי. "
והאם למשפט המצוטט יש דימיון כלשהו לאלקטרון ?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10316 · מיקום: כדור הארץ
 

הודעה פורסם: 09/02/2020 - 23:01
נושא ההודעה:

לא הבנתי מה אתה רוצה. ל־Go יש GC, יש לו גם מחיר בזמן ריצה (זו הסיבה ש־discourse עברו לאחרונה מ־Go ל-Rust עבור ה־Read Service שלהם).

כמו כן, יש צורך ב־scheduler ל־Goroutines.

כל המנגנונים האלה מהודרים לתוך כל יישום Go.

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 10/02/2020 - 03:41
נושא ההודעה: לקח לי זמן אז אולי יועיל למישהו: GC -> Garbage collector

mksoft :
לא הבנתי מה אתה רוצה. ל־Go יש GC, יש לו גם מחיר בזמן ריצה (זו הסיבה ש־discourse עברו לאחרונה מ־Go ל-Rust עבור ה־Read Service שלהם).

כמו כן, יש צורך ב־scheduler ל־Goroutines.

כל המנגנונים האלה מהודרים לתוך כל יישום Go.

אולי יחסוך למישהו קצת זמן. Automatic Garbage Collector.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
ik_5 לא מחובראורח · ·
 

הודעה פורסם: 10/02/2020 - 09:15
נושא ההודעה:

mksoft :
לא הבנתי מה אתה רוצה. ל־Go יש GC, יש לו גם מחיר בזמן ריצה (זו הסיבה ש־discourse עברו לאחרונה מ־Go ל-Rust עבור ה־Read Service שלהם).

כמו כן, יש צורך ב־scheduler ל־Goroutines.

כל המנגנונים האלה מהודרים לתוך כל יישום Go.


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

יש מצבים בהם מרגישים את זה, וזה סבבה. המלחמה על rust מול go מפגרת, כי הם לא מתחרים לדעתי על אותה הנישה בכלל. אני לוקח את גו במקומות שלקחתי שפות כמו רובי, ואני כרגע נשארתי קצת עם C במקומות של סיסטם, עד שאלמד rust ואז מאוד אשמח לעבור.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10316 · מיקום: כדור הארץ
 

הודעה פורסם: 10/02/2020 - 09:49
נושא ההודעה:

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

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
ik_5 לא מחובראורח · ·
 

הודעה פורסם: 10/02/2020 - 10:50
נושא ההודעה:

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


מעטים המפתחים שבאמת יורדים לשורש העניין של מה מרכיב את מה.
לרוב זה גם לא משנה.

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

אני למשל כמעט בכלל לא משתמש ב channels, אבל כן ב go routines. למעט מקרים מאוד מוגדרים אין לי צורך בנעילה של מידע, ואיפה שיש, אני עובד עם mutex להבטיח כתיבה וקריאה כפי שאני רוצה.

לכל דבר יש עלות ותועלת. לקח לי לכתוב את המערכת שאני מדבר עליה מעט זמן, ולכונן אותה המון זמן.

ב rust גם יש מספר דברים שנכנסים לקובץ ריצה שהם של השפה עצמה. אבל כן ה overhead נמוך יותר. אבל זמן הכתיבה יהיה ארוך יותר למישהו שללא ניסיון כי זה דורש חשיבה שונה לגמרי.

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

הודעה פורסם: 10/02/2020 - 13:49
נושא ההודעה:

אני לא מכיר מספיק את שתי השפות הללו. סתם השוואה קטנה שאולי אומרת משהו ואולי לא.
בניתי תוכניות hello ב־go, ב־rust וב־C. ב־C קישרתי את התוכנית סטאטית ודינמית. בראסט התוכנית דינמית. בגו: סטאטית.
קוד:

# kB:
$ ls -s -1 */hello */hello_*
 740 c/hello
  20 c/hello_dynamic
1964 go/hello
 272 rust/hello

$ ldd c/hello_dynamic
        linux-vdso.so.1 (0x00007ffc203fd000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6949457000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6949649000)

$ $ ldd rust/hello
        linux-vdso.so.1 (0x00007ffe4a16b000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f68346cc000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f68346c1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f68346a0000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6834686000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f68344c6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6834731000)
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
ik_5 לא מחובראורח · ·
 

הודעה פורסם: 10/02/2020 - 15:42
נושא ההודעה:

צפריר :
אני לא מכיר מספיק את שתי השפות הללו. סתם השוואה קטנה שאולי אומרת משהו ואולי לא.
בניתי תוכניות hello ב־go, ב־rust וב־C. ב־C קישרתי את התוכנית סטאטית ודינמית. בראסט התוכנית דינמית. בגו: סטאטית.
קוד:

# kB:
$ ls -s -1 */hello */hello_*
 740 c/hello
  20 c/hello_dynamic
1964 go/hello
 272 rust/hello

$ ldd c/hello_dynamic
        linux-vdso.so.1 (0x00007ffc203fd000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6949457000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6949649000)

$ $ ldd rust/hello
        linux-vdso.so.1 (0x00007ffe4a16b000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f68346cc000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f68346c1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f68346a0000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6834686000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f68344c6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6834731000)



כן, גו ברירת המחדל שלה הוא סטטי. המטרה היא שתוכל לקחת בינארי ולהפיץ אותו כמה שיותר.
אבל יש לך תמיכה בצורה ממש מגניבה בספריות מקושרות. אני בדיוק כותב על זה סדרת מאמרים ב dev, וכשזה יהיה מוכן אפרסם Smile
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 10/02/2020 - 16:53
נושא ההודעה: האם תוכל לפרסם קוד? האם הגודל בראסט לא מפתיע?

צפריר :
אני לא מכיר מספיק את שתי השפות הללו. סתם השוואה קטנה שאולי אומרת משהו ואולי לא.
בניתי תוכניות hello ב־go, ב־rust וב־C. ב־C קישרתי את התוכנית סטאטית ודינמית. בראסט התוכנית דינמית. בגו: סטאטית.
קוד:

# kB:
$ ls -s -1 */hello */hello_*
 740 c/hello
  20 c/hello_dynamic
1964 go/hello
 272 rust/hello

$ ldd c/hello_dynamic
        linux-vdso.so.1 (0x00007ffc203fd000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f6949457000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6949649000)

$ $ ldd rust/hello
        linux-vdso.so.1 (0x00007ffe4a16b000)
        libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f68346cc000)
        librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f68346c1000)
        libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f68346a0000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f6834686000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f68344c6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f6834731000)

  1. האם תוכל לפרסם כאן את הקוד של כולן?
  2. האם הגודל של התוכנית בראסט לא נראה מפתיע? מה ה ldd של הסטטי ב C?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
צפריראורח · ·
 

הודעה פורסם: 12/02/2020 - 20:16
נושא ההודעה:

ldd לא יודע להוציא כלום מתוכנית סטאטית חוץ מהעובדה שהיא סטאטית.

התוכניות: לא משהו מתוחכם:
קוד:

// C
#include <stdio.h>
int main() {
        printf("Hello\n");
        return 0;
}


קוד:

// Go
package main
import "fmt"
func main() {
    fmt.Println("Hello")
}


קוד:

// Rust
fn main() {
    println!("Hello");
}
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 13/02/2020 - 01:31
נושא ההודעה: האם כללת את ה C הדינמי? מה הן הפקודות לקומפילציה?

צפריר :
ldd לא יודע להוציא כלום מתוכנית סטאטית חוץ מהעובדה שהיא סטאטית.

התוכניות: לא משהו מתוחכם:
קוד:

// C
#include <stdio.h>
int main() {
        printf("Hello\n");
        return 0;
}


קוד:

// Go
package main
import "fmt"
func main() {
    fmt.Println("Hello")
}


קוד:

// Rust
fn main() {
    println!("Hello");
}
האם כללת את ה C הדינמי? האם תוכל להוסיף את הפקודות לקומפילציה?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
צפריראורח · ·
 

הודעה פורסם: 13/02/2020 - 08:53
נושא ההודעה:

לא חייבים לצטט את כל ההודעה כל פעם.

הפקודות:
קוד:

gcc -Os -Wall -static -o hello hello.c
gcc -Os -Wall  -o hello_dynamic hello.c
go build hello.go
rustc hello.rs


לא היה הבדל משמעותי בין ‎-Os לבין ‎-O2 .
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
mksoftלא בפורום כעתSite Admin ת.הצטרפות: 17/03/2002 · הודעות: 10316 · מיקום: כדור הארץ
 

הודעה פורסם: 13/02/2020 - 10:53
נושא ההודעה:

ככל הזכור לי go build כולל debug info בברירת מחדל.

_________________
הבלוג שלי
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית שלח דוא\ ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
צפריראורח · ·
 

הודעה פורסם: 13/02/2020 - 16:38
נושא ההודעה:

הנה מה שקורה כשמעיפים debuginfo:
קוד:

 668 c/hello
 740 c/hello_unstripped
1400 go/hello
1964 go/hello_unstripped
 200 rust/hello
 272 rust/hello_unstripped
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח [אורח]
  2. אורח [בטיטו]
  3. אורח
  4. אורח
  5. אורח [בטיטו]
  6. אורח
  7. mksoft
  8. אורח [בטיטו]
  9. mksoft
  10. אורח [בטיטו]
  11. mksoft
  12. אורח
  13. אורח [ik_5 לא מחובר]
  14. mksoft
  15. אורח [ik_5 לא מחובר]
  16. אורח [צפריר]
  17. אורח [ik_5 לא מחובר]
  18. אורח
  19. אורח [צפריר]
  20. אורח
  21. אורח [צפריר]
  22. mksoft
  23. אורח [צפריר]