sonyxp Δημοσ. 24 Απριλίου 2014 Δημοσ. 24 Απριλίου 2014 Είμαι πιο εξοικειωμένος με την C/C++ όσον αφορά αλγορίθμους που δεν έχουν να κάνουν με γραφικά και τέτοια, αυτήν την περίοδο δουλεύω στο να φτιάξω ένα πρόγραμμα για τον αλγόριθμο Simplex και το κάνω σε .ΝΕΤ επειδή με ενδιαφέρει το UI. Η αλήθεια είναι ότι τον αλγόριθμο για την επίλυση του Simplex τον βγάζω πιο χαλαρά σε C/C++ σε σχέση με C#. Τι θα λέγατε να έγραφα τον κώδικα σε C/C++ και να έκανε μόνο το UI σε .NET; δεν είναι λίγο χαζό; επίσης πιστεύετε ότι θα κερδίσω σε ταχύτητα; (αν και στο συγκεκριμένο πρόβλημα δεν μας αφορά τόσο, είτε με c/c++ είτε με java η επίλυση είναι 'στιγμιαία')
albNik Δημοσ. 24 Απριλίου 2014 Δημοσ. 24 Απριλίου 2014 Καντο όλο σε C#. Δεν θα δεις διαφορα σε ταχυτητα ουτε θα μπλεξεις με p/invoke (το οποιο εχει και καποιο delay).
sonyxp Δημοσ. 24 Απριλίου 2014 Μέλος Δημοσ. 24 Απριλίου 2014 Βασικά αυτό για την ταχύτητα το ανέφερα 'έτσι' , δεν είναι αυτός ο λόγος που έκανα το Post, ο λόγος είναι η ευκολία στο να λύσω ένα πρόβλημα σε C/C++ γιατί μου παρέχει διαχείριση μνήμης και μερικές φορές το ζητώ αυτό...
albNik Δημοσ. 24 Απριλίου 2014 Δημοσ. 24 Απριλίου 2014 Με την C# θα επικεντροθεις στον αλγοριθμο Simplex που δεν εχει και πολυ σχεση με διαχειριση μνημης.
pmav99 Δημοσ. 24 Απριλίου 2014 Δημοσ. 24 Απριλίου 2014 Στην simplex, ανάλογα με το μεγεθος των προβλημάτων που θες να λύσεις, παίζει μεγάλο ρόλο η ταχύτητα. H simplex αυτή καθε αυτή δεν έχει να κάνει με διαχείριση μνήμης. Ένας αλγόριθμο είναι. Αν γράψεις σε C/C++, xρησιμοποιώντας pointers κτλ πιθανότατα θα πετύχεις καλύτερο runtime efficiency. Με μια πιο high level γλώσσα (την οποία την ξέρεις εξίσου καλά) θα δαπανήσεις πιθανότατα λιγότερο development time. Εκτός και αν το κάνεις για διδακτικούς σκοπούς μου φαίνεται απίθανο να μην βρεις έτοιμο κωδικα για simplex
παπι Δημοσ. 24 Απριλίου 2014 Δημοσ. 24 Απριλίου 2014 Με μια ματια που εριξα στον αλγοριθμο... Με c++ θα κανεις παπαδες βαζοντας opt ss2 ή γραφοντας το με ss2. Βαιβεα μπορεις να το γραψεις και σε πιο high level γλωσσα, καποια shader ξερω γω που εκει θα ειναι καμια 100 φορες πιο γρηγορη η επιλυση.
sonyxp Δημοσ. 24 Απριλίου 2014 Μέλος Δημοσ. 24 Απριλίου 2014 Αλλού πήγαινε το 'διαχείριση μνήμης'. ΥΓ-Οφφτοπικ: η υλοποίηση με C/C++ σίγουρα θα βοηθούσε σημαντικά στην ταχύτητα (όπως είπα όμως, δεν με ενδιαφέρει), φανταστείτε ότι στην C# μεταφέρω ολόκληρο πίνακα σε κάποια συνάρτηση για να κάνει μια δουλειά... αυτό δεν είναι ότι καλύτερο αλλά δεν μπορώ να τα έχω όλα χύμα-global. Με δείκτες θα γλίτωνα την μεταφορά ολόκληρων κομματιών μνήμης. Το θέμα είναι ότι χειρίζομαι καλύτερα πίνακες σε C/C++ και ο αλγόριθμος Simplex ουσιαστικά είναι μια εργασία που γίνεται σε έναν μεγάλο πίνακα (=A + b + c). Anyway, σε .NET το κάνω, απλά θέλω να μάθω: πως ξέρω πότε πρέπει να γράψω κάτι πιο χαμηλά από .ΝΕΤ και να το κάνω Import στην .ΝΕΤ (σαν dll);;;
albNik Δημοσ. 24 Απριλίου 2014 Δημοσ. 24 Απριλίου 2014 φανταστείτε ότι στην C# μεταφέρω ολόκληρο πίνακα σε κάποια συνάρτηση για να κάνει μια δουλειά... Αυτο ειναι λαθος. By reference περνανε οι πινακες.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα