Performance
110 άρθρα · 26 gems
Νέα
Μεταγλώττιση Rust σε αναγνώσιμη C με το εργαλείο Eurydice
Το Eurydice αποτελεί ένα καινοτόμο εγχείρημα που μετατρέπει κώδικα Rust σε δομημένο κώδικα C, στοχεύοντας κυρίως σε περιβάλλοντα υψηλής διασφάλισης (high-assurance) όπου απαιτούνται εργαλεία τυπικής επαλήθευσης (formal verification). Αντί για τη δημιουργία μηχανικού κώδικα, το εργαλείο εστιάζει στη διατήρηση της αρχιτεκτονικής δομής του αρχικού προγράμματος.
Κυκλοφορία της Python 3.15: Εστίαση σε επιδόσεις και εκσυγχρονισμό του runtime
Η Python 3.15 εισάγει σημαντικές βελτιώσεις στον interpreter, συμπεριλαμβανομένης της καθιέρωσης του UTF-8 ως προεπιλεγμένης κωδικοποίησης, αναβαθμίσεις στον πειραματικό JIT compiler και υποστήριξη για lazy imports. Η έκδοση αυτή σηματοδοτεί ένα ακόμη βήμα προς την κατεύθυνση της βελτιστοποίησης των επιδόσεων και της σταθερότητας του οικοσυστήματος.
Μεταφορά του Quake σε safe Rust: μια υλοποίηση για τον browser
Το Quake-SRP αποτελεί μια εντυπωσιακή μεταφορά (port) της κλασικής μηχανής του Quake σε Rust, η οποία εκτελείται απευθείας στον browser μέσω WebAssembly. Η υλοποίηση επιτυγχάνει πλήρη αναπαραγωγή του παιχνιδιού χρησιμοποιώντας αποκλειστικά software rendering, χωρίς την ανάγκη για GPU ή εξωτερικές εξαρτήσεις.
Bevy 0.20: Αναβάθμιση στο rendering και βελτιώσεις στο οικοσύστημα
Η έκδοση 0.20 του Bevy εισάγει σημαντικές αναβαθμίσεις στο rendering με το Solari, υιοθετεί το πρότυπο WESL για shaders και βελτιώνει την εργονομία του BSN scene system. Η νέα έκδοση εστιάζει στη σταθερότητα των APIs και στην ενίσχυση των δυνατοτήτων για 2D και 3D γραφικά.
Whistle: Αναγνώριση ομιλίας σε 16.9 MB με αρχιτεκτονική αιχμής
Το Whistle αποτελεί ένα εξαιρετικά ελαφρύ μοντέλο αναγνώρισης ομιλίας (ASR) που ενσωματώνεται άψογα στη μηχανή Needle, προσφέροντας ταχύτητα πρώτου token στα 11 ms και δυνατότητα εκτέλεσης σε συσκευές με περιορισμένους πόρους. Η αρχιτεκτονική του βασίζεται σε Simple Attention blocks και επιτρέπει την άμεση μετατροπή ήχου σε tool calls χωρίς εξωτερικές εξαρτήσεις.
Ανάλυση φθοράς OLED: Αποτελέσματα μετά από 30 μήνες εντατικής χρήσης
Μετά από 8.000 ώρες λειτουργίας σε περιβάλλον εργασίας με στατικό περιεχόμενο, η δοκιμή αντοχής του MSI MPG 321URX QD-OLED επιβεβαιώνει τη συσσωρευτική φύση του burn-in. Παρά την εμφάνιση ορατών σημαδιών φθοράς, η οθόνη παραμένει λειτουργική, αναδεικνύοντας τη σημασία των στρατηγικών μετριασμού της φθοράς σε πάνελ OLED.
Αναβιώνοντας την κλασική demoscene των PC στον browser μέσω ανασύνθεσης κώδικα
Το project demoscene-recomp επιτυγχάνει την εκτέλεση κλασικών DOS demos στον browser, μετατρέποντας τον αρχικό x86 κώδικα σε WebAssembly. Αντί για παραδοσιακή εξομοίωση, το σύστημα χρησιμοποιεί στατική ανάλυση και ανασύνθεση (recompilation) για να διατηρήσει την απόλυτη χρονική ακρίβεια του hardware της δεκαετίας του '90.
Zerobrew: Μια αρχιτεκτονική υψηλών επιδόσεων για το οικοσύστημα του Homebrew
Το zerobrew επαναπροσδιορίζει την εγκατάσταση πακέτων στο macOS και το Linux, υιοθετώντας μια αρχιτεκτονική τύπου uv που βασίζεται σε content-addressed storage και APFS clonefiles. Αντί να εκτελεί βαριές διαδικασίες Ruby για κάθε εγκατάσταση, το εργαλείο αξιοποιεί τα έτοιμα bottles του Homebrew, επιτυγχάνοντας δραστική μείωση του latency κατά την εγκατάσταση.
Push ifs up and fors down: Η άλγεβρα και τα όρια ενός προγραμματιστικού ιδιώματος
Το άρθρο αναλύει τη στρατηγική «push ifs up and fors down», η οποία προτείνει τη μεταφορά της λογικής διακλάδωσης (if) προς το επίπεδο του καλούντος και τη συγκέντρωση των επαναληπτικών δομών (for) σε batch επεξεργασία. Μέσω της θεωρίας κατηγοριών και της άλγεβρας των combinators, αποδεικνύεται πώς αυτή η προσέγγιση βελτιώνει την απόδοση και την καθαρότητα του κώδικα.
Μεταγλώττιση παιχνιδιών PSP σε WebAssembly για εκτέλεση στον browser
Το project psp-web-recomp επιτυγχάνει την εκτέλεση τίτλων PSP στον browser μέσω στατικής απομεταγλώττισης (decompilation) του MIPS κώδικα σε C++ και εν συνεχεία σε WebAssembly. Αντί για παραδοσιακή εξομοίωση, το σύστημα υλοποιεί ένα ελαφρύ kernel και μεταφράζει τις εντολές του graphics chip σε WebGL2, επιτυγχάνοντας απόδοση 60 FPS.
Ενσωμάτωση του JPEG XL στον Chrome: Η μετάβαση σε Rust για ασφάλεια και επιδόσεις
Ο Chrome 155 εισάγει υποστήριξη για το JPEG XL, ένα format επόμενης γενιάς που προσφέρει ανώτερη συμπίεση και υποστήριξη HDR. Η υλοποίηση βασίζεται στον αποκωδικοποιητή jxl-rs, γραμμένο εξ ολοκλήρου σε Rust, διασφαλίζοντας μνήμη-ασφαλή επεξεργασία χωρίς συμβιβασμούς στις επιδόσεις μέσω SIMD.
ESP32-C3 adblock: DNS ad-blocking με χρήση flash αντί για RAM
Το project αυτό παρουσιάζει έναν DNS sinkhole ad-blocker για ESP32-C3 που παρακάμπτει την ανάγκη για PSRAM. Αντί για φόρτωση λιστών στη μνήμη, αποθηκεύει 40-bit hashes των domains στη flash, επιτρέποντας τον έλεγχο χιλιάδων καταχωρήσεων με ελάχιστη κατανάλωση πόρων.
PhotoCraft: Μια open-source υλοποίηση του Photoshop γραμμένη εξ ολοκλήρου σε Rust
Το PhotoCraft αποτελεί μια φιλόδοξη, clean-room ανακατασκευή του Adobe Photoshop σε Rust, εστιάζοντας στην υψηλή απόδοση μέσω GPU compositing και στη διαλειτουργικότητα (interoperability) με αρχεία PSD. Η αρχιτεκτονική του είναι σχεδιασμένη με γνώμονα την αυτοματοποίηση, επιτρέποντας τον έλεγχο κάθε λειτουργίας μέσω CLI, JSON ή MCP server.
Υποστήριξη του πρωτοκόλλου TPAP στη βιβλιοθήκη Tapo για Rust και Python
Η βιβλιοθήκη Tapo ενσωματώνει πλέον το πρωτόκολλο TPAP, επιτρέποντας τον τοπικό έλεγχο συσκευών TP-Link χωρίς την ανάγκη ενεργοποίησης της επιλογής «Third-Party Compatibility». Η αναβάθμιση αυτή θωρακίζει την ασφάλεια μέσω του SPAKE2+ και επεκτείνει τη λειτουργικότητα με υποστήριξη για camera hubs και προγραμματισμό ενεργειών.
Κυκλοφορία του Polars 2.0: Εστίαση σε SQL, streaming engine και out-of-core επεξεργασία
Το Polars 2.0 σηματοδοτεί μια σημαντική εξέλιξη για τη βιβλιοθήκη, καθιστώντας το SQL υποστήριξη πρώτης κατηγορίας (first-class citizen) και ενεργοποιώντας εξ ορισμού τη μηχανή streaming και την out-of-core επεξεργασία. Η νέα έκδοση επιτυγχάνει κορυφαίες επιδόσεις σε benchmarks TPC-H και TPC-DS, ενισχύοντας την ανθεκτικότητα σε workloads μεγάλου όγκου δεδομένων.
Η γλώσσα Gleam αλλάζει αρχιτεκτονική: τέλος στη μεταγλώττιση σε Erlang source
Η έκδοση 1.19.0 της Gleam εισάγει μια σημαντική αλλαγή στον compiler, μεταβαίνοντας από την παραγωγή κώδικα Erlang σε απευθείας παραγωγή Erlang abstract forms. Αυτή η αρχιτεκτονική αναβάθμιση βελτιώνει τους χρόνους build, προσφέρει ακριβέστερα stacktraces και ευθυγραμμίζει τη γλώσσα με τις βέλτιστες πρακτικές του οικοσυστήματος BEAM.
Η οπτική του δημιουργού του Photopea για το project Photosuite
Ο δημιουργός του Photopea παρενέβη σε συζήτηση σχετικά με το project Photosuite, προσφέροντας τεχνική ανάλυση και την εμπειρία του από την ανάπτυξη ενός σύνθετου web-based προγράμματος επεξεργασίας εικόνας. Η παρέμβαση υπογραμμίζει τις προκλήσεις της διατήρησης ενός οικοσυστήματος γραφικών στον browser.
Η εξέλιξη του example.com: Μια αναδρομή στην αρχιτεκτονική και τον σχεδιασμό του
Το example.com, ο θεμελιώδης κόμβος για τεκμηρίωση στο διαδίκτυο, ανανεώθηκε πρόσφατα εισάγοντας υποστήριξη πολλαπλών γλωσσών και βελτιστοποιημένη παροχή περιεχομένου. Η ανάλυση εξετάζει τη μετάβαση από στατικές σελίδες σε δυναμικά στοιχεία μέσω JavaScript, καθώς και την ιστορική διαδρομή της υποδομής του από τον Apache στο Cloudflare.
Η επιστροφή στον Node: Γιατί ο runtime βελτιώθηκε και το Deno χάθηκε
Ο συγγραφέας επιστρέφει στον Node.js μετά από μακρόχρονη χρήση του Deno, ανακαλύπτοντας ότι ο runtime τώρα υποστηρίζει πλήρως το ECMAScript module system, έχει σύγχρονα APIs και δεν χρειάζεται più το require(). Η μετάβαση απαιτούσε μόνο μικρές αλλαγές στα file‑system και HTTP modules, ενώ η χρήση του PNPM βελτίωσε την ασφάλεια και την ταχύτητα builds.
Dust: Προεκπαίδευση μοντέλων Transformer χωρίς backpropagation
Το Dust αποτελεί μια πρωτοποριακή μέθοδο μηδενικής τάξης (zeroth-order) για την εκπαίδευση Transformers, η οποία αντικαθιστά το backpropagation με διαταραχές στις ενεργοποιήσεις (activations). Μέσω της χρήσης ενός «εικονικού πληθυσμού» (virtual population) σε επίπεδο token, η μέθοδος επιτυγχάνει ανταγωνιστικά αποτελέσματα με το backprop, υποδεικνύοντας ότι σε περιβάλλοντα με άφθονη υπολογιστική ισχύ, οι μέθοδοι αναζήτησης μπορούν να ξεπεράσουν τις παραδοσιακές κλίσεις.
GitHub Gems
Μια cross-platform βιβλιοθήκη γραμμένη σε C που παρέχει έναν μηχανισμό ειδοποίησης συμβάντων (event notification), επιτρέποντας την εκτέλεση callback συναρτήσεων όταν συμβαίνουν συγκεκριμένα γεγονότα σε file descriptors ή χρονικά όρια.
Αποτελεί το βιομηχανικό πρότυπο για υψηλές επιδόσεις σε δικτυακές εφαρμογές, προσφέροντας διαλειτουργικότητα (interoperability) μεταξύ διαφορετικών συστημάτων I/O (όπως epoll, kqueue, select) με ελάχιστο overhead.
Μία πλήρης και έτοιμη για παραγωγικό περιβάλλον (production-ready) υλοποίηση του πρωτοκόλλου QUIC και HTTP/3 γραμμένη αποκλειστικά σε Go, με υποστήριξη σύγχρονων RFCs και περιβαλλόντων FIPS 140-3.
Προσφέρει κορυφαία διαλειτουργικότητα (interoperability) με εκτενή υποστήριξη προηγμένων προδιαγραφών όπως QUIC v2, Unreliable Datagrams και qlog, χωρίς εξωτερικές C εξαρτήσεις.
Quickwit: Cloud-native μηχανή αναζήτησης για δεδομένα παρατηρησιμότητας
Μία κατανεμημένη μηχανή αναζήτησης γραμμένη σε Rust, σχεδιασμένη ειδικά για log management και distributed tracing, η οποία αξιοποιεί το cloud storage για αποθήκευση δεδομένων.
Ξεχωρίζει για την αρχιτεκτονική της που διαχωρίζει το compute από το storage, επιτρέποντας εξαιρετικά χαμηλό κόστος λειτουργίας και υψηλή κλιμακωσιμότητα (scalability) σε περιβάλλοντα cloud.
Ο Intel Implicit SPMD Program Compiler (ispc) είναι ένας compiler βασισμένος στη γλώσσα C, ο οποίος επιτρέπει στους προγραμματιστές να γράφουν σειριακό κώδικα που εκτελείται παράλληλα σε μονάδες SIMD (Single Instruction, Multiple Data) σε CPU και GPU.
Προσφέρει σημαντική βελτίωση επιδόσεων (έως και 6x) χωρίς την ανάγκη χειροκίνητης συγγραφής περίπλοκων intrinsics, διατηρώντας παράλληλα μια λεπτή στρώση αφαίρεσης (abstraction layer) που επιτρέπει τον ακριβή έλεγχο του hardware.
wolfSSL: Ελαφριά και φορητή βιβλιοθήκη TLS/SSL για συστήματα με περιορισμένους πόρους
Μία υλοποίηση TLS/SSL γραμμένη σε ANSI C, σχεδιασμένη για embedded συστήματα και περιβάλλοντα RTOS, που προσφέρει υποστήριξη έως TLS 1.3 και DTLS 1.3 με εξαιρετικά μικρό αποτύπωμα μνήμης.
Ξεχωρίζει για το εξαιρετικά μικρό μέγεθος (έως 20 φορές μικρότερο από το OpenSSL), την πιστοποίηση FIPS 140-2/3 και την παροχή ενός compatibility API που διευκολύνει τη μετάβαση από το OpenSSL.
libvips: βιβλιοθήκη επεξεργασίας εικόνας υψηλών επιδόσεων με χαμηλή κατανάλωση μνήμης
Μια demand-driven βιβλιοθήκη επεξεργασίας εικόνας γραμμένη σε C, η οποία χρησιμοποιεί οριζόντια νηματοποίηση (horizontal threading) για να επιτυγχάνει ταχύτητα και ελάχιστο memory footprint.
Ξεχωρίζει για την αρχιτεκτονική της που αποφεύγει την πλήρη φόρτωση εικόνων στη μνήμη, επιτρέποντας την επεξεργασία τεράστιων αρχείων με σταθερή και χαμηλή χρήση RAM.
Μία C++ βιβλιοθήκη φυσικής στερεών σωμάτων (rigid body physics) σχεδιασμένη για παράλληλη εκτέλεση σε multi-core συστήματα, ιδανική για απαιτητικά παιχνίδια και VR εφαρμογές.
Ξεχωρίζει για την αρχιτεκτονική της που επιτρέπει την ταυτόχρονη πρόσβαση στα δεδομένα φυσικής από πολλαπλά threads χωρίς κλειδώματα (locks), εξασφαλίζοντας κορυφαία απόδοση σε σύγχρονους επεξεργαστές.
free-stockdb: Τοπική μηχανή δεδομένων για ποσοτική ανάλυση και backtesting
Μια τοπική μηχανή δεδομένων (local-first) υψηλών επιδόσεων για την κινεζική αγορά μετοχών, που επιτρέπει τον συγχρονισμό, τον καθαρισμό και την ανάλυση δεδομένων χωρίς εξάρτηση από απομακρυσμένα API.
Ξεχωρίζει για την αρχιτεκτονική της με Rust/C++ core που προσφέρει ταχύτητες υπολογισμού δεικτών έως και 3 φορές ταχύτερες από το pandas, εξαλείφοντας τα σημεία συμφόρησης (bottlenecks) των παραδοσιακών online API.
Ένα εξειδικευμένο framework που αποτελείται από kernel module και user-space βιβλιοθήκες, σχεδιασμένο για την επεξεργασία εκατομμυρίων πακέτων ανά δευτερόλεπτο με ελάχιστη κατανάλωση πόρων CPU.
Ξεχωρίζει για την ικανότητά του να επιτυγχάνει throughput άνω των 20M pkt/sec ανά πυρήνα, βελτιστοποιώντας δραστικά τη διαχείριση του δικτυακού φόρτου σε σύγκριση με τα παραδοσιακά socket interfaces.
Ένα εργαλείο που επιταχύνει τη διαδικασία build αποθηκεύοντας τα αποτελέσματα προηγούμενων μεταγλωττίσεων (compilations) και επαναχρησιμοποιώντας τα όταν ανιχνεύει πανομοιότυπες κλήσεις του compiler.
Προσφέρει δραστική μείωση του χρόνου build σε μεγάλα projects, λειτουργώντας ως διαφανές layer ανάμεσα στον compiler και το build system, με ελάχιστο overhead.
userver: Framework υψηλών επιδόσεων για ασύγχρονα microservices σε C++
Ένα production-ready framework που αξιοποιεί τα C++20 coroutines για τη δημιουργία κλιμακώσιμων ασύγχρονων υπηρεσιών, προσφέροντας πλούσια υποστήριξη για βάσεις δεδομένων και πρωτόκολλα επικοινωνίας.
Ξεχωρίζει για την αρχιτεκτονική του που βασίζεται σε coroutines, επιτρέποντας τη συγγραφή κώδικα με σειριακή λογική που εκτελείται ασύγχρονα, εξαλείφοντας τα σημεία συμφόρησης (bottleneck) σε περιβάλλοντα υψηλού φορτίου.
Chronicle Map: υπερ-γρήγορος in-memory key-value store με off-heap persistence
Η Chronicle Map είναι μια βιβλιοθήκη Java που παρέχει super‑fast, non‑blocking key‑value αποθήκευση σε off‑heap μνήμη, επιτρέποντα εκατομμύρια λειτουργίες ανά δευτερόλεπτο με σταθερή microsecond latency και προαιρετική διατήρηση σε δίσκο.
Διακρίνεται για την ικανότητα να κλιμακώνει ανάψυχα χωρίς να blockει τα read‑queries, να υποστηρίζει multi‑master replication με consistency και να μειώνει το garbage collection prácticamente σε μηδέν, καθιστά την ιδανική για χαμηλ‑latency εφαρμογές όπως τα real‑time trading systems.
OptiScaler: Γέφυρα διαλειτουργικότητας για upscaling και frame generation σε PC παιχνίδια
Ένα εργαλείο γραμμένο σε C++ που επιτρέπει την αντικατάσταση των native upscalers (DLSS, FSR, XeSS) σε παιχνίδια, προσφέροντας παράλληλα δυνατότητες frame generation σε τίτλους που δεν το υποστηρίζουν αρχικά.
Ξεχωρίζει για την ικανότητά του να λειτουργεί ως universal wrapper, επιτρέποντας στους χρήστες να επιλέγουν την τεχνολογία upscaling της προτίμησής τους ανεξάρτητα από το hardware, ενώ ενσωματώνει προηγμένες δυνατότητες παραγωγικής τεχνητής νοημοσύνης (Generative AI) για την αναπαραγωγή καρέ.
Ένας υψηλών επιδόσεων Redis client για Go που βελτιστοποιεί το throughput μέσω αυτόματου pipelining και αξιοποιεί το server-assisted client-side caching για τη μείωση του latency.
Ξεχωρίζει για την αρχιτεκτονική του που ελαχιστοποιεί τα allocations μέσω sync.Pool και την ενσωματωμένη υποστήριξη για προηγμένα patterns όπως το Cache-Aside και κατανεμημένα locks.
nvidia-macos-driver: Metal driver για NVIDIA GeForce κάρτες σε macOS Sequoia
Ένα open-source project που επιτρέπει τη χρήση σύγχρονων NVIDIA GPUs (Turing και μεταγενέστερες) σε macOS 15 Sequoia, υλοποιώντας ένα πλήρες Metal driver stack μέσω kernel extensions και shader translation.
Ξεχωρίζει για την ικανότητά του να γεφυρώνει το χάσμα μεταξύ του Apple Metal framework και του NVIDIA hardware, χρησιμοποιώντας το NVK (Mesa Vulkan) και το GSP firmware της NVIDIA για να προσφέρει υποστήριξη σε Metal 3, ray tracing και mesh shaders.
throttled: Linux daemon για τη διαχείριση ορίων ισχύος και undervolting σε Intel CPU
Ένας daemon συστήματος που αποτρέπει την ανεπιθύμητη επιβράδυνση (throttling) της CPU σε Intel συστήματα, επαναφέροντας περιοδικά τα όρια ισχύος (PL1/PL2) και τις ρυθμίσεις θερμοκρασίας απευθείας στους MSR και MCHBAR registers.
Ξεχωρίζει για την ικανότητά του να παρακάμπτει συντηρητικές ρυθμίσεις του firmware, προσφέροντας παράλληλα υποστήριξη για undervolting και δυναμική εναλλαγή προφίλ μεταξύ AC και μπαταρίας.
DataFrame: Βιβλιοθήκη C++ για ανάλυση δεδομένων υψηλών επιδόσεων
Ένα templatized, ετερογενές container σε C++ που επιτρέπει τη διαχείριση πολυδιάστατων δεδομένων, προσφέροντας μια δομή παρόμοια με SQL tables ή Excel spreadsheets για στατιστικές και χρηματοοικονομικές εφαρμογές.
Ξεχωρίζει για την αρχιτεκτονική του όπου οι στήλες αποτελούν υποστήριξη πρώτης κατηγορίας (first-class citizens), επιτρέποντας εξαιρετικά αποδοτική πρόσβαση και επεξεργασία δεδομένων σε σύγκριση με τις παραδοσιακές προσεγγίσεις ανά σειρά.
Ένα εργαλείο που επιτρέπει την εκτέλεση iOS εφαρμογών και παιχνιδιών σε Apple Silicon Macs, χρησιμοποιώντας ένα wrapper που προσομοιώνει το περιβάλλον ενός iPad.
Ξεχωρίζει για την ικανότητά του να προσφέρει native απόδοση και προηγμένο keymapping για ποντίκι και πληκτρολόγιο, μετατρέποντας τα touch controls σε desktop-friendly χειρισμό.
mupdf: Ελαφρύ framework για rendering και μετατροπή εγγράφων PDF, XPS και e-book
Το MuPDF είναι ένα υψηλών επιδόσεων open-source framework γραμμένο σε C, σχεδιασμένο για την ταχύτατη απεικόνιση (rendering) και μετατροπή εγγράφων PDF, XPS και e-book.
Ξεχωρίζει για το εξαιρετικά μικρό αποτύπωμα μνήμης και την ταχύτητα απόδοσης γραφικών, καθιστώντας το ιδανική επιλογή για ενσωμάτωση σε εφαρμογές με περιορισμένους πόρους.
vkd3d-proton: Υλοποίηση Direct3D 12 πάνω από το Vulkan για το Proton
Ένα εξειδικευμένο fork του VKD3D που στοχεύει στην πλήρη υποστήριξη του Direct3D 12 API μέσω του Vulkan, αποτελώντας τον πυρήνα της συμβατότητας παιχνιδιών στο Proton της Valve.
Ξεχωρίζει για την επιθετική αξιοποίηση σύγχρονων Vulkan extensions, δίνοντας προτεραιότητα στις επιδόσεις και τη συμβατότητα των παιχνιδιών έναντι της υποστήριξης παλαιότερων συστημάτων.