Berbicara tentang pentingnya mengoptimalkan struktur kode

Penulis:Keponakan, Dibuat: 2021-05-22 05:57:14, Diperbarui:

Karena publikasi program, seringkali ada masalah kecil. Hari ini kita akan membahas tentang pentingnya mengoptimalkan struktur kode.

Untuk keuntungan, yang paling penting adalah dua hal, yaitu: 1. pemanfaatan dana.2. kecepatan pemesanan.2.

Kecepatan pemesanan umumnya dapat diselesaikan dengan mengandalkan server yang lebih dekat ke bursa, membeli jaringan yang lebih baik, dll. Tetapi sebenarnya bagi sebagian besar pemula, hanya dengan mengoptimalkan struktur kode, strategi dapat dibuat lebih cepat beberapa puluh milidetik, sama sekali tidak kalah dengan perubahan jaringan yang lebih baik. Namun, biayanya jauh lebih rendah.

Namun, ketika hanya ada satu pasangan transaksi, peningkatan kecepatan untuk mengoptimalkan struktur kode sering kurang dari 1 ms, hampir tidak ada perbedaan.

Peningkatan pemanfaatan dana, yang seringkali membutuhkan uang yang sama untuk mengamati beberapa pasangan transaksi secara bersamaan, akan menyebabkan peningkatan jumlah siklus logis, di mana manfaat dari mengoptimalkan struktur kode menjadi jelas. Kompleksitas perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan perhitungan.

Saya akan membahas satu masalah yang sering saya hadapi, misalnya ada dua jalur yang berbeda, yaitu A-C dan A-B-C. Kedua jalur masing-masing membutuhkan penghitungan dua kali, satu kali penghitungan jalur yang dapat menghasilkan keuntungan, asumsikan p1 dan p2, satu kali penghitungan jalur spesifik untuk setiap bursa dan urusannya untuk harga dan jumlah yang dibutuhkan untuk ditarik secara khusus.

Salah satu cara yang paling umum adalah dengan menuliskan sebuah fungsi untuk menghitung keuntungan, yaitu dengan menyebutkan harga dan jumlah. Kemudian, fungsi ini dipanggil secara berbelok, mendapatkan keuntungan dari setiap jalur, dan kemudian memilih keuntungan terbesar untuk melakukan transaksi.

Jelas bahwa kita hanya perlu menghitung keuntungan dalam perbandingan, tidak perlu menghitung harga dan jumlah pembayaran dari awal.

Jadi dalam optimasi, Anda dapat membagi profit dan invoice menjadi dua fungsi. Pertama-tama, fungsi yang memanggil profit berputar, mendapatkan keuntungan dari setiap jalur, dan kemudian memilih yang paling menguntungkan untuk melakukan transaksi. Dengan demikian, secara logis, fungsi yang meminta akan dipanggil dari setiap putaran, menjadi hanya dipanggil sekali. Kompleksitas waktu berubah dari O (((2n menjadi O (((n+1), n menjadi jumlah total jalur set).

Kemudian, jika kita menganalisis kode lebih lanjut, kita menemukan bahwa dalam kasus yang umum, karena ada pekerja yang menguntungkan lainnya, maka jika ada jalur yang menguntungkan, itu sering kali dimanfaatkan oleh orang lain.

Jadi kita dapat mengoptimalkan strategi lebih lanjut, mengatur sebuah loop, loop menambahkan pernyataan if, jika ditemukan bahwa jalur tertentu memiliki profit, maka break keluar, dan kemudian menghitung jumlah dan harga pengembalian dari jalur tersebut.

Kemudian kompleksitas disederhanakan lebih lanjut dari O ((n+1) menjadi O ((m+1), m

Dengan menggunakan fungsi pemisahan sederhana, analisis struktur optimasi logis dapat mengurangi kompleksitas waktu dari O ((2n) menjadi O ((n/2+1)).

Pada kenyataannya, ketika menulis kode, ada banyak skenario yang dapat dioptimalkan, dan saya sering menemukan bahwa setelah menulis kode, ada kemungkinan untuk mengoptimalkan logika pengoptimalan dari O ((n!) ke O ((n* ((n+1)). Kadang-kadang bahkan dapat mengoptimalkan logika yang hanya membutuhkan beberapa ratus milidetik untuk dieksekusi, hingga 1 ms.

Sebagai langkah yang dapat mengurangi jeda pertanyaan strategis dengan sedikit waktu, saya sarankan Anda untuk mengoptimalkan struktur kode Anda.


Lebih banyak

Pisau tulangJika Anda ingin tahu, bagaimana cara yang efektif untuk menghindari situasi dengan satu kaki?

KeponakanPenundaan pengiriman order ke bursa

Allez-zApakah keterlambatan berarti keterlambatan data dalam?

KeponakanMencatat keterlambatan, melebihi suatu nilai saat ini tidak dilakukan.