האם שימוש בjni לא מאט אפליקציה?

TakeCtrl

New member
האם שימוש בjni לא מאט אפליקציה?

נתקלתי בhttp://nd4j.org/ במאמר של dzone וזה נראה בתוך תחליף מעניין לעבודה עם כל המטריצות שלנו (שבמקור באו מMatlab)
אבל אז ראיתי שהם משתמשים בC
דיברתי עם המפתחים והם שלחו אותי לזה:
http://deeplearning4j.org/spark-gpus
הם אומרים שבקריאות בודדות יכן בעיה, אבל לא כאשר אתה עובד על כל המטריצה.

http://deeplearning4j.org/spark-gpus
 

BravoMan

Active member
בסופו של יום זו שאלה של איזון:

העברת מידע מחוץ ל-JVM לתוך קוד native לוקחת זמן מסוים, אבל עיבוד בתוך ה-native יכול להיות מהיר יותר, וכפי שהקישורים שצירפת מציינים יכול לנצל אפילו GPU, מה שלמיטב ידיעתי אף JVM לא עושה כרגע (אולי אני לא מעודכן, אני בד"כ עובד עם Java על Android לא על שרת \ Desktop).
&nbsp
אז, אני מניח שהשאלה שאתה צריך לשאול זה:
כמה עבודה הפונקציה עושה ביחס למידע שהיא מקבלת ומחזירה?
 
תלוי בכמה גורמים

קריאה לפונקציה jni יותר איטית מקריאה לפונקציה רגילה. עכשיו אם זמן הריצה של הפונקציה ארוך, אז זמן הקריאה של הפונקציה בטל בשישים לעומת זמן הריצה.
&nbsp
דבר שני תלוי כמה דאטה אתה מעביר בינהם, יש jvm שעושים את זה עם העתקה, מה שמאיט את התהליך אם אתה מעביר הרבה זיכרון בינהם
 
למעלה