Kamis, 31 Desember 2015

Free Pascal - Tips untuk Kode yang Lebih Baik


Di dalam bahasa pemrograman apapun, dikenal dengan faster code dan smaller code. Adapun tujuannya yaitu untuk mendapatkan kompleksitas kode yang baik sehingga ukuran kode ringan serta cepat. Berikut ini tips yang diberikan langsung oleh Michaël Van Canneyt yang merupakan pembuat buku referensi untuk Free Pascal Programmers.

Better Algorithm

Di dalam penyelesaiannya kasus-kasus dengan Free Pascal, tentu dapat dilakukan dengan banyak cara. Semisal yang satu dengan yang lainnya berbeda dalam penyelesaian kasus 1. Dimana si A melakukannya dengan if statement sementara si B menggunakan switch-case atau case-of. Dan tentu saja kompleksitas-nya berbeda-beda tergantung dari kasus serta penulisan kode.
Semisal, ada kasus, identifikasi bilangan lalu cetak apakah itu satuan, puluhan, ratusan, atau ribuan. Dalam hal ini, mulai lah si A dan si B menulis sebuah program.

Si A:

program Identifikasi;
var i: Integer;
begin
  i := 1030;
  if i < 9 then writeln('satuan')
    else if i < 99 then writeln('puluhan')
      else if i < 999 then writeln('ratusan')
        else writeln('ribuan');
end.
Si B:

program Identifikasi;
var i: Integer;
begin
  i := 1030;
  case i of
    0..9: writeln('satuan');
    10..99: writeln('puluhan');
    100..999: writeln('ratusan');
    else
      writeln('ribuan');
  end;
end.
Kedua program tersebut hasilnya akan sama. Namun mana yang lebih baik dan lebih cepat? Dari segi kompleksitas kode, tentu saja lebih baik si B. Jadi, mulai lah mempelajari tentang kompleksitas kode dan terapkan ke dalam kode yang kita tulis. Cari penyelesaian kasus dengan algoritma yang terbaik.

Tilik Processor Dependency

Setiap processor, misal i386 atau amd64, memiliki keunggulan dan kekurangan masing-masing. Itu semua berpengaruh kepada variabel (tipe data) yang akan kita pilih. Semisal, kita menggunakan Free Pascal dengan processor amd64 (64-bit). Maka, longword dan longint direkomendasikan sebagai pilihan terbaik.

Larangan

Penulis yang memberi tips ini mengatakan bahwa ansistrings, widestrings, dan exception support membutuhkan lebih banyak resource yang membuat code over-head. Selain itu, penggunaan cdecl modifier juga tidak disarankan.

Bermain dengan FPC

FPC (Free Pascal Compiler) memiliki banyak optional parameter yang dapat dimanfaatkan untuk kebutuhan seperti ini. Untuk menganalisis kode kita, fpc mendukung paramter -pg untuk mencari mana yang menghabiskan banyak resource. Kemudian, kita dapat mengubahnya ke bahasa assembly supaya mendapatkan hasil yang optimal. Selain itu, kita disarankan untuk menggunakan parameter -Og pada fpc.

Penutup

Masih banyak cara yang dapat digunakan untuk menghemat resource serta mempercepat kode. Namun, karena keterbatasan ilmu saya sehingga saat ini hanya tulisan ini yang dapat mewakili. Saya hanyalah manusia biasa yang mencoba untuk menjadi penulis. Jika ada kesalahan mohon dikoreksi dan kemudian akan saya perbaiki. Terima kasih.

0 komentar :

Posting Komentar

Komentar saya buka untuk umum termasuk Anonim. Gunakanlah bahasa Indonesia yang baik dan benar.