Das Skript in C oder C++ umschreiben.
Guten Tag
Es gibt ein Skript, das in Python geschrieben ist und sehr langsam ist, die Verarbeitung von 1 MB Daten dauert mehr als 25 Sekunden
1. Problem im Code (technisch):
Genauer gesagt — in generate_auto_seed() und rank_two_symbols_optimized()
Sie nehmen ~90% der gesamten Ausführungszeit des Skripts in Anspruch
Das liegt an:
der Durchmusterung jedes Bits in einem langen Array (0 und 1)
der Berechnung eines großen Permutationsrangs (mathematisch aufwendige Operation)
der Verwendung großer Zahlen (häufig mit binomialen Koeffizienten)
Es wird ein Spezialist benötigt, der:
Die algorithmische Natur der Rangordnung von Permutationen versteht,
Mit der Optimierung von Speicher, Threads und großen Zahlen umgehen kann,
Blockverarbeitung des Arrays 0/1 auf niedriger Ebene implementieren kann.
Das Hauptziel ist die Geschwindigkeit - die gewünschte Geschwindigkeit beträgt 1-3 Sekunden
Parallel dazu - Arbeit an Seed
Bitte senden Sie Ihre Bewerbung, wenn Sie dies umsetzen können.
Danke
Rezension des Auftraggebers über die Zusammenarbeit mit Roman Smolyakov
Das Skript in C oder C++ umschreiben.Roman hat einen sehr positiven Eindruck bei mir hinterlassen - er hat alles schnell und qualitativ hochwertig erledigt.
Die Probleme hatten einfach keine Chance)
Rezension des Freelancers über die Zusammenarbeit mit Roman Freelancer
Das Skript in C oder C++ umschreiben.Alles ist gut mit dem Auftraggeber! Wir werden weiterarbeiten! Kontaktieren Sie uns!
-
1 Tag86 EUR
235 1 Tag86 EURHallo!
Ihr Skript ist langsam wegen zweier Funktionen:
generate_auto_seed() — Bitenumeration, Arbeiten mit großen Zahlen.
rank_two_symbols_optimized() — Permutationsrangberechnung (schwere kombinatorische Operationen).
Was ich tun werde:
…
1. Algorithmische Optimierung
Ich werde die Enumeration durch einen O(n) Algorithmus zur Rangordnung binärer Sequenzen ersetzen (analog zum Kombinatorischen Zahlensystem).
Ich werde binomiale Koeffizienten einmal in O(n²) vorab berechnen, nicht in einer Schleife.
2. Beschleunigung um 10-100 Mal
Ich werde kritische Teile in Cython neu schreiben (Python-Overhead entfernen).
Ich werde Numba JIT-Kompilierung für Mathematik hinzufügen.
Falls nötig — SIMD-Anweisungen (AVX2) über C-Erweiterungen.
3. Parallelität und Speicher
Ich werde die Daten in Blöcke aufteilen, in 4-8 Threads verarbeiten (Multiprocessing).
Ich werde Listen durch numpy.ndarray (dtype=uint8) ersetzen, um Speicher zu sparen.
4. Garantien
Die ersten 500 KB werden in ≤3 Sekunden in 2 Tagen verarbeitet.
Das Endergebnis ist 1-3 Sekunden/MB (oder ich werde das Geld für die Verbesserungen zurückerstatten).
Warum ich?
Ich habe kürzlich ähnlichen Code zur Seed-Generierung in der Kryptographie beschleunigt (von 30 Sekunden auf 0,8 Sekunden).
Ich bin bereit, einen Prototyp der ersten 100 Zeilen Ihrer Daten kostenlos zu zeigen.
Was ich senden sollte:
Quellen von generate_auto_seed() und rank_two_symbols_optimized().
Ein Beispiel für Eingabedaten (Bitarray 0/1).
Präzise Anforderungen für die Umgebung (Python 3.10? Linux/Windows?).
Ab heute. Warte auf Ihre Daten!
Mit freundlichen Grüßen,
Ziqo,
P.S. Wenn Sie Zweifel haben, kann ich eine kostenlose Analyse von 10-20 Zeilen Code durchführen und zeigen, wie man sie beschleunigt.
-
Gewinnerangebot1 Tag82 EUR
1965 29 1 1 Gewinnerangebot1 Tag82 EURGuten Tag! Ich bin immer erreichbar, um zu helfen. Schreiben Sie, wir besprechen es! Und vergessen Sie nicht, in das Portfolio zu schauen – dort gibt es viele interessante Dinge!
-
2 Tage86 EUR
626 6 0 2 Tage86 EURHallo, ich bin an Ihrem Angebot interessiert. Kann ich mehr Details dazu in einer privaten Nachricht erfahren?
-
Доброго дня. Будь ласка, надайте зразу посилання на ваш код, git ... дякую.
-
зроблю швидко пишіть
-
Доброго дня! надайте код проекту
-
Доброго дня, можна якось ознайомитись із проектом?
-
Aktuelle Freelance-Projekte in der Kategorie C & C++
Infrastrukturingenieur für WohnproxiesWir bauen ein Wohnproxy-Netzwerk von Grund auf neu – vollständig im eigenen Besitz, ohne Drittanbieter. Wir benötigen einen außergewöhnlichen Netzwerkingenieur, der die gesamte technische Grundlage aufbaut. Was Sie aufbauen werden: - Android-Hintergrund-SDK, das Proxy-Verkehr… C & C++, DevOps ∙ 2 Tage 10 Stunden zurück ∙ 12 Angebote |
Nachbesserung in der bestehenden Version des 1C Einzelhandelsblocks für das RZ (Verteilerzentrum)Im Allgemeinen erkläre ich, was wir für eine Datenbank haben - Es gibt einen gemeinsamen Server, auf dem die Datenbank Розница (wo alle Eingänge erfasst werden) ist - die Datenbank УТП, in die alle Verkäufe fließen - die Aufschläge werden berechnet, die Bestände in den Lagern -… C & C++, C# ∙ 3 Tage 1 Stunde zurück ∙ 6 Angebote |
Master-Programm «KONSTRUCTOR»
3600 EUR
Wir suchen einen sehr erfahrenen C++-Entwickler zur Modernisierung der bestehenden Software (Master-Programm). Das Programm ist verantwortlich für die Erstellung von abgeleiteter Software, die audio-visuelle Sitzungen der psychologischen Korrektur darstellt. Die aktuelle Version… C & C++, Desktop-Anwendungen ∙ 8 Tage 4 Stunden zurück ∙ 19 Angebote |
Programmierung von Code für ArduinoEs muss eine Software für einen Gewichtsdosierer auf Basis von Arduino Uno entwickelt werden. Komponenten: Arduino Uno R3 HX711 + Wägezelle LCD1602 I2C Display MAX7219 LED-Matrix 8x32 5 Steuerknöpfe 4-Kanal Relais 2 Signallichter Vibrationsmagnet für grobes Dosieren… C & C++, Eingebettete Systeme & Mikrocontroller ∙ 9 Tage 13 Stunden zurück ∙ 15 Angebote |
Das Projekt muss fertiggestellt oder eine Beratung bereitgestellt werden.
19 EUR
|