Ημερομηνία Stress Test: 17 Μαρτίου 2026
Η TObject αποτελεί μία από τις πιο θεμελιώδεις και καλοσχεδιασμένες κλάσεις του ASCOOS OS.
Η μέθοδος cloneObject() είναι κρίσιμη για την εσωτερική λειτουργία του πυρήνα, καθώς επιτρέπει
βαθιά, ρηχή, δομική και επιλεκτική κλωνοποίηση αντικειμένων με υψηλή απόδοση και σταθερότητα.
Το παρόν stress test εκτελέστηκε με 1.000.000 στοιχεία στο properties array και 300 επαναλήψεις ανά mode, με φορτωμένες 429 κλάσεις του πυρήνα (Deep + Extras). Τα αποτελέσματα δείχνουν την πραγματική αντοχή και αποδοτικότητα της αρχιτεκτονικής.
Τα αποτελέσματα των benchmarks αποδεικνύουν ότι η TObject του ASCOOS OS διαθέτει μία από τις πιο αποδοτικές και κλιμακώσιμες υλοποιήσεις κλωνοποίησης αντικειμένων που έχουν παρουσιαστεί σε PHP-based πυρήνα. Η συμπεριφορά της παραμένει εξαιρετικά σταθερή ακόμη και σε ακραίες συνθήκες φόρτου, όπως το stress test με 1.000.000 στοιχεία × 300 επαναλήψεις.
Τα modes DEEP, SHALLOW, PROPERTIES-ONLY και DEEP-PROPERTY-ONLY παρουσιάζουν σχεδόν μηδενική αύξηση σε χρόνο και μνήμη, ανεξάρτητα από το μέγεθος του dataset. Αυτό αποδεικνύει ότι η αρχιτεκτονική της TObject είναι σχεδιασμένη με γνώμονα την απόδοση, την προβλεψιμότητα και την ελάχιστη κατανάλωση πόρων.
Το STRUCTURAL mode αποτελεί τη μοναδική περίπτωση όπου η κατανάλωση CPU και RAM αυξάνεται γραμμικά. Η συμπεριφορά αυτή είναι αναμενόμενη, καθώς το mode αυτό αναδομεί πλήρως τη δομή του properties tree, δημιουργώντας νέο αντικείμενο από το μηδέν. Παρά το υψηλό κόστος, η λειτουργία του παραμένει σταθερή και προβλέψιμη.
Συνολικά, η TObject::cloneObject() αποδεικνύεται εξαιρετικά αξιόπιστη, με υψηλή απόδοση και πλήρη σταθερότητα σε όλα τα modes. Η συμπεριφορά της επιβεβαιώνει την ποιότητα του σχεδιασμού του ASCOOS OS και την ικανότητά του να διαχειρίζεται μεγάλα datasets χωρίς απώλεια ταχύτητας ή μνήμης.
Το ASCOOS OS, με μόλις 13.06 MB RAM και 0.606 sec χρόνο φόρτωσης για 429 κλάσεις, αποδεικνύει ότι μπορεί να σταθεί επάξια ως ένας από τους πιο ελαφριούς και αποδοτικούς PHP-based πυρήνες της κατηγορίας του.
Επαναλήψεις ανά mode: 300
Μέγεθος dataset: 1.000.000 στοιχεία
RAM αντικειμένου: 33.26 MB
Φορτωμένες κλάσεις ASCOOS OS: 429
Χρόνος φόρτωσης πυρήνα: 0.606 sec
RAM πυρήνα: 13.06 MB
| Mode | Avg Time (sec) | Avg Memory (KB) | Avg Peak (KB) |
|---|---|---|---|
| DEEP | 0.000023 | 0.85 | 34,034.21 |
| SHALLOW | 0.000003 | 0.46 | 34,034.33 |
| STRUCTURAL | 0.292839 | 385,621.77 | 803,992.84 |
| PROPERTIES-ONLY | 0.000011 | 0.83 | 35,323.71 |
| DEEP-PROPERTY-ONLY | 0.000004 | 0.46 | 34,038.74 |
Το STRUCTURAL ορίζεται ως 100%.
| Mode | Γράφημα | Avg Time |
|---|---|---|
| STRUCTURAL | 0.292839 | |
| DEEP | 0.000023 | |
| SHALLOW | 0.000003 | |
| PROPERTIES-ONLY | 0.000011 | |
| DEEP-PROPERTY-ONLY | 0.000004 |
| Mode | Min | Max | Avg | Std |
|---|---|---|---|---|
| DEEP | 0.000018 | 0.000127 | 0.000023 | 0.000008 |
| SHALLOW | 0.000002 | 0.000027 | 0.000003 | 0.000002 |
| STRUCTURAL | 0.278532 | 0.366951 | 0.292839 | 0.011185 |
| PROPERTIES-ONLY | 0.000008 | 0.000037 | 0.000011 | 0.000003 |
| DEEP-PROPERTY-ONLY | 0.000002 | 0.000008 | 0.000004 | 0.000001 |
| Mode | Min | Max | Avg | Std |
|---|---|---|---|---|
| DEEP | 0.83 | 6.27 | 0.85 | 0.31 |
| SHALLOW | 0.46 | 0.46 | 0.46 | 0.00 |
| STRUCTURAL | 385,621.77 | 385,621.77 | 385,621.77 | 0.00 |
| PROPERTIES-ONLY | 0.83 | 0.83 | 0.83 | 0.00 |
| DEEP-PROPERTY-ONLY | 0.46 | 0.46 | 0.46 | 0.00 |
| Mode | Min | Max | Avg | Std |
|---|---|---|---|---|
| DEEP | 34,015.68 | 34,052.67 | 34,034.21 | 11.74 |
| SHALLOW | 34,017.10 | 34,063.86 | 34,034.33 | 11.81 |
| STRUCTURAL | 419,639.24 | 805,296.71 | 803,992.84 | 22,227.75 |
| PROPERTIES-ONLY | 34,021.09 | 419,688.10 | 35,323.71 | 22,228.37 |
| DEEP-PROPERTY-ONLY | 34,021.51 | 34,068.63 | 34,038.74 | 11.82 |
Το παρακάτω γράφημα δείχνει πώς κλιμακώνεται ο μέσος χρόνος εκτέλεσης (Avg Time)
για κάθε mode της TObject::cloneObject() καθώς αυξάνεται το μέγεθος του dataset.
Το STRUCTURAL χρησιμοποιείται ως σημείο αναφοράς (100%).
| Mode | 5.000 elements | 100.000 elements | 1.000.000 elements |
|---|---|---|---|
| DEEP | 0.000005 | 0.000005 | 0.000023 |
| SHALLOW | 0.000001 | 0.000001 | 0.000003 |
| STRUCTURAL | 0.001440 | 0.028882 | 0.292839 |
| PROPERTIES-ONLY | 0.000002 | 0.000002 | 0.000011 |
| DEEP-PROPERTY-ONLY | 0.000001 | 0.000001 | 0.000004 |
Παρατηρούμε ότι όλα τα modes εκτός του STRUCTURAL παραμένουν σχεδόν σταθερά, ακόμη και με dataset 1.000.000 στοιχείων. Το STRUCTURAL αυξάνεται γραμμικά, όπως αναμένεται λόγω πλήρους αναδόμησης της δομής.
Το γράφημα αυτό δείχνει πώς αυξάνεται ο μέσος χρόνος εκτέλεσης (Avg Time)
για κάθε mode της TObject::cloneObject() καθώς το dataset μεγαλώνει.
Το STRUCTURAL χρησιμοποιείται ως σημείο αναφοράς (100%).
| Mode | 5.000 elements | 100.000 elements | 1.000.000 elements |
|---|---|---|---|
| DEEP | 0.000005 | 0.000005 | 0.000023 |
| SHALLOW | 0.000001 | 0.000001 | 0.000003 |
| STRUCTURAL | 0.001440 | 0.028882 | 0.292839 |
| PROPERTIES-ONLY | 0.000002 | 0.000002 | 0.000011 |
| DEEP-PROPERTY-ONLY | 0.000001 | 0.000001 | 0.000004 |
Όλα τα modes εκτός του STRUCTURAL παραμένουν σχεδόν σταθερά, ακόμη και με dataset 1.000.000 στοιχείων. Το STRUCTURAL αυξάνεται γραμμικά, όπως αναμένεται λόγω πλήρους αναδόμησης της δομής.
Το παρακάτω γράφημα δείχνει πώς κλιμακώνεται η χρήση μνήμης (Memory) και η μέγιστη χρήση (Peak)
για κάθε mode της TObject::cloneObject() καθώς αυξάνεται το μέγεθος του dataset.
Το STRUCTURAL χρησιμοποιείται ως σημείο αναφοράς (100%).
| Mode | 5.000 elements | 100.000 elements | 1.000.000 elements |
|---|---|---|---|
| DEEP | 0.86 KB | 0.85 KB | 0.85 KB |
| SHALLOW | 0.46 KB | 0.46 KB | 0.46 KB |
| STRUCTURAL | 1,970 KB | 40,817 KB | 385,621 KB |
| PROPERTIES-ONLY | 0.83 KB | 0.83 KB | 0.83 KB |
| DEEP-PROPERTY-ONLY | 0.46 KB | 0.46 KB | 0.46 KB |
| Mode | 5.000 elements | 100.000 elements | 1.000.000 elements |
|---|---|---|---|
| DEEP | 15,728 KB | 19,698 KB | 34,034 KB |
| SHALLOW | 15,728 KB | 19,698 KB | 34,034 KB |
| STRUCTURAL | 17,673 KB | 101,196 KB | 803,992 KB |
| PROPERTIES-ONLY | 15,742 KB | 19,838 KB | 35,323 KB |
| DEEP-PROPERTY-ONLY | 15,732 KB | 19,702 KB | 34,038 KB |
Παρατηρούμε ότι όλα τα modes εκτός του STRUCTURAL έχουν σχεδόν σταθερή χρήση μνήμης, ανεξάρτητα από το μέγεθος του dataset. Το STRUCTURAL αυξάνεται γραμμικά, καθώς δημιουργεί πλήρως νέο properties tree.
Τα αποτελέσματα των benchmarks δείχνουν ότι η TObject του ASCOOS OS διαθέτει εξαιρετικά αποδοτική και κλιμακώσιμη αρχιτεκτονική. Τα modes DEEP, SHALLOW, PROPERTIES-ONLY και DEEP-PROPERTY-ONLY παρουσιάζουν σχεδόν σταθερή απόδοση, ανεξάρτητα από το μέγεθος του dataset.
Το STRUCTURAL mode είναι το μόνο που αυξάνει σημαντικά σε χρόνο και μνήμη, κάτι που είναι απολύτως φυσιολογικό, καθώς δημιουργεί πλήρως νέο properties tree. Η συμπεριφορά του είναι γραμμική και προβλέψιμη.
Συνολικά, η TObject::cloneObject() αποδεικνύεται εξαιρετικά σταθερή, με υψηλή απόδοση ακόμη και σε ακραίες συνθήκες (1.000.000 στοιχεία × 300 runs). Αυτό επιβεβαιώνει την ποιότητα του σχεδιασμού του πυρήνα του ASCOOS OS.
Η TObject αποτελεί μία από τις πιο θεμελιώδεις κλάσεις του ASCOOS OS και λειτουργεί ως η βασική μονάδα αναπαράστασης δεδομένων και συμπεριφοράς στον πυρήνα. Σχεδιάστηκε με γνώμονα την επεκτασιμότητα, την ασφάλεια και την υψηλή απόδοση.
Η μέθοδος cloneObject() είναι ένα από τα πιο ισχυρά χαρακτηριστικά της,
επιτρέποντας πολλαπλά modes κλωνοποίησης:
Η ευελιξία αυτή επιτρέπει στο ASCOOS OS να διαχειρίζεται πολύπλοκες δομές δεδομένων με απόλυτο έλεγχο και ελάχιστο κόστος σε πόρους.
Το ASCOOS OS είναι ένα modular, επεκτάσιμο και εξαιρετικά ελαφρύ PHP-based λειτουργικό σύστημα εφαρμογών, σχεδιασμένο για υψηλή απόδοση και χαμηλή κατανάλωση πόρων.
Η αρχιτεκτονική του βασίζεται σε:
Με μόλις 13.06 MB RAM και 0.606 sec για φόρτωση 429 κλάσεων, ο πυρήνας του ASCOOS OS αποδεικνύει ότι μπορεί να ανταγωνιστεί — και να ξεπεράσει — πολύ μεγαλύτερα frameworks όσον αφορά την αποδοτικότητα.