content:
Adalah suatu keadaan pikiran yang menyengsarakan yaitu menginginkan banyak hal dan banyak hal pula yang membuat diri ketakutan; demikianlah keadaan pikiran yang menimpa para raja; yang menjadi yang tertinggi, ingin semua hasratnya terkabul, sehingga menyebabkan pikiran mereka merana; dan memiliki angan-angan dan bayangan-bayangan akan bahaya yang membuat pikiran mereka menjadi kurang jernih. Dan kenyataan ini juga merupakan salah satu alasan dari konsekuensi yang dikatakan oleh Kitab suci: rahasia hati seorang raja tak terselami[1]. Sebab segerombolan kecemburuan dan miskin akan hasrat yang terpenting yang seharusnya mengorganisasi dan menempatkan segala sesuatunya dalam keteraturan, menyebabkan hati setiap manusia sulit diselami dan didengarkan. Dari sebab itu, hal yang serupa juga menimpa para kaisar bahwa mereka kerap kali membuat diri mereka bernafsu dan memberikan hati mereka hanya demi mainan-mainan, kadang kala demi bangunan, kadang kala demi menyusun suatu perintah; kadang kala demi mengangkat seseorang; kadang kala demi memperoleh kesempurnaan dalam seni atau prestasi keterampilan tangan; seperti Nero[2] yang tangannya mahir memainkan harpa, tangan Domitianus[3] yang ahli memanah; tangan Commodus[4] yang tangkas bermain anggar, tangan Caracalla[5] yang kuat dalam mengemudikan kereta perang dan yang semacamnya. Kehebatan mereka adalah hal yang mengagumkan bagi orang yang tidak mengetahui prinsip: bahwa pikiran manusia akan lebih disukacitakan dan disegarkan dengan mendapatkan keuntungan akan hal-hal yang kecil daripada berdiri melulu hanya untuk menatap akan hal-hal yang besar. Kita melihat juga bahwa para raja telah menjadi para penakluk yang mujur dalam tahun-tahun pertama kekuasaan mereka; tidaklah mungkin bagi mereka untuk berjaya selamanya, tetapi mereka haruslah memiliki pengendalian dan pengekangan dalam kemujuran mereka, mengubah masa-masa hidup selanjutnya sehingga menjadi orang yang penuh takhayul dan penuh kesedihan; seperti yang menimpa Alexander Agung[6]; Diocletianus[7] dan yang masih di dalam ingatan kita, Charles V[8]; dan yang lain: karena raja yang biasa maju lalu kemudian berhenti, yang disebabkan oleh kemauannya sendiri, berubah menjadi pribadi yang bukan seperti dirinya yang dulu.
Berbicara tentang proporsionalitas kemaharajaan yang benar sekarang ini, maka hal tersebut adalah realitas yang jarang dan sulit untuk dilakukan; karena baik proporsionalitas dan non-proporsionalitas terdiri dari pertentangan-pertentangan. Tetapi adalah hal yang tersendiri yaitu mencampurkan pertentangan-pertentangan itu; yang lain adalah tukar-menukar pertentangan-pertentangan itu. Jawaban Apollinus[9] kepada Vespasianus[10] penuh dengan instruksi yang sempurna. Vespasianus bertanya kepada Apollinus: Bagaimana kehancuran Nero itu? Jawaban Apollinus, Nero memang dapat menyentuh dan memainkan harpa dengan baik; tetapi dalam hal pemerintahan kadang kala dia memasang bros terlalu tinggi; kadang kala dia membiarkan bros itu turun ke bawah terlalu rendah. Dan pastilah bahwa tak ada sesuatu pun yang amat menghancurkan kekuasaan selain daripada pergantian kekuasaan yang tak terduga dan yang tak seimbang yang dipaksakan terlalu jauh dan yang terlalu amat santai.
Benarlah kenyataan ini, bahwa untuk waktu yang akan datang kebijaksanaan dari semuanya ini dalam hubungannya dengan perkara-perkara para raja, akan sungguh menjadi pengantaraan dan pergeseran kepada bahaya dan kekacauan yang sempurna ketika mereka dekat dengan perkara-perkara daripada menjadi jalan-jalan yang solid dan kokoh yang menjauhkan mereka dari perkara-perkara. Namun mengatasi perkara-perkara adalah usaha akan penguasaan-penguasaan yang dibantu dengan kemujuran. Dan semoga manusia waspada akan bagaimana ketika mereka mengabaikan dan menderita akan kesulitan yang telah mengintai; karena tak seorang pun dapat mencegah percikan maupun mengatakan kapan kesulitan tersebut akan terjadi. Tentu saja kesulitan-kesulitan dalam urusan-urusan para raja begitu banyak dan besar; tetapi kesulitan yang terbesar justru dikarenakan oleh pikiran mereka sendiri. Adalah hal yang umum bagi para penguasa untuk menghendaki hal yang bertentangan (kata Tacitus); Sunt plerumque regum voluntates vehementes; et inter se contrariae (hasrat-hasrat para kaisar umumnya menggebu-gebu dan tidak sepadan antara yang satu dengan yang lainnya). Sebab kenyataan ini adalah kesalahan yang aneh dari suatu kekuasaan, berpikir untuk menguasai akhir, tetapi tidak tahan akan sarananya demi mencapai akhir tersebut.
Para raja harus berurusan dengan kerajaan-kerajaan tetangga, istri-istri mereka; anak-anak, prelatus atau klerus; para bangsawan; para bangsawan kelas kedua atau orang–orang penting; pedagang-pedagang, rakyat, prajurit, dan segala bahaya yang muncul dari semuanya ini, andaikata kepedulian dan kecurigaan tidak diterapkan.
Untuk kerajaan-kerajaan tetangga; tidak ada aturan umum yang dapat diberikan (karena penyebab-penyebabnya begitu bervariasi), pilihlah satu, yang selalu dipegang teguh: para raja haruslah melakukan pengawasan, bahwa tak boleh tak satu pun dari kerajaan-kerajaan tetangga tumbuh begitu pesat (melalui pelebaran teritori; dengan peningkatan perdagangan; dengan pendekatan-pendekatan, atau semacamnya), sehingga membuat mereka lebih mampu untuk mengancam daripada sebelumnya. Dan pengawasan yang demikian merupakan kinerja dari para penasihat yang berpengalaman untuk memprediksi dan mencegah bahaya tersebut. Selama masa tiga Raja; Raja Henry VIII[11] dari Inggris; Raja Francis I[12] dari Perancis dan Kaisar Charles V, ketiga raja tersebut melakukan pengawasan yang semacam itu, meskipun tak satu pun dari mereka yang dapat memenangkan tanah palma[13], tetapi Raja Henry VIII dan Raja Francis I akan melakukan pengawasan yang seimbang dengan segera, sementara Charles V melakukan pengawasan dengan konfederasi, atau, jika perlu, akan berperang; dan tidak akan akan melakukan perdamaian sampai ada keuntungan bagi negerinya. Dan hal yang sama dilakukan oleh Liga yang dibentuk antara Ferdinando, Raja Napoli[14], Lorenzius Medici, Raja Florence, dan Ludovicus Sforza[15], Raja Milan (sebagaimana yang dikatakan oleh Guicciardini bahwa Liga adalah keamanan Italia). Opini para cendekiawan, bahwa sebuah perang tidak dapat dilakukan dengan adil kecuali atas luka yang dibuat atau provokasi tidak harus diterima. Sebab meskipun tidak ada soal tetapi ada ketakutan yang beralasan yang disebabkan oleh suatu bahaya yang mendekat, meskipun kiranya tidak ada suatu hembusan yang terjadi, adalah penyebab suatu perang yang sah.
Untuk para istri, ada banyak contoh yang keji yang berasal dari mereka. Livia[16] membunuh suaminya[17] dengan meracuninya; Roxalana[18], istri Sulaiman[19] adalah kehancuran bagi pangeran Sultan Mustapha yang terkenal dan menjadi bencana bagi seluruh isi istana dan suksesi; Edward II dari Inggris[20], ratunya[21] memegang peranan utama dalam menggulingkan dan membunuh dirinya. Bahaya yang semacam ini pada prinsipnya haruslah ditakuti, ketika para istri mempunyai rencana untuk membesarkan anak-anak mereka; atau yang lain mereka berzinah.
Untuk anak-anak; tragedi-tragedi demikian juga bahaya-bahaya yang berasal dari mereka telah begitu banyak. Dan umumnya menyelusupnya kecurigaan para ayah ke dalam diri anak-anaknya selalu menjadi ketidakberuntungan. Kehancuran Mustapha[22] (yang telah kita sebut sebelumnya) begitu fatal bagi garis keturunan Sulaiman dan suksesi kemaharajaan Turki dari Sulaiman sampai hari ini dicurigai penuh kebohongan dan bersumber dari darah yang janggal; karena Selymus[23] II itu hanya dianggap sebagai suatu pengandaian. Pembunuhan Crispus[24] pangeran muda itu oleh Constantinus[25] Agung, ayahnya adalah hal yang langka, akibatnya fatal bagi istana Constantinus Agung; karena baik untuk Constantinus[26] dan Constans[27], semua anaknya itu mati di dalam kekerasan; dan Constantius[28], anaknya yang lain, mati dengan cara yang lebih baik, yaitu karena sakit tetapi setelah Julianus[29] angkat senjata melawan dirinya. Kehancuran Demetrius[30], yang memperanakkan Philip Kedua dari Macedonia, membuat sang ayah mati dalam penyesalan. Dan banyak lagi contoh-contoh; namun sedikit atau bahkan tidak ada kebaikan sama sekali ketika para ayah menaruh ketidakpercayaan yang seperti itu ke dalam anak-anak mereka; kecuali jika anak-anak memang dibesarkan dalam pertikaian terbuka melawan ayah; seperti Selymus I[31] melawan Bajazet[32]; ketiga anak Henry II[33], Raja Inggris.
Untuk para prelatus; ketika mereka penuh kebanggaan dan begitu hebat; maka juga ada bahaya yang ditimbulkan oleh mereka; seperti yang terjadi dalam masa Anselmus[34] dan Thomas Becket[35], kedua Uskup Agung Canterbury; yang dengan tongkat uskup mereka, mereka nyaris berperang dengan pedang raja; walaupun mereka telah berkonflik dengan raja-raja yang tambun dan sombong seperti Wiliam Rufus[36]; Henry Pertama[37]; dan Henry Kedua[38]. Bahaya tidaklah berasal dari kondisi yang demikian[39] tetapi dari ketergantungan kepada suatu kekuasaan asing; atau di mana petinggi-petinggi gereja datang dan dipilih, bukan dengan pemeriksaan raja atau pelindung-pelindung (patron) istimewa, tetapi oleh rakyat.
Untuk para bangsawan, membatasi gerak-gerik mereka bukanlah suatu hal yang keliru, tetapi menekan mereka, mungkin membuat seorang raja makin lebih absolut, tetapi kurang aman bagi raja dan raja sendiri kurang mampu untuk mewujudkan segala sesuatu yang dihasratkannya. Saya telah memperhatikan hal ini lewat buku saya dengan judul History of Henry the Seventh, di mana Henry VII menekan para bangsawannya sedemikian rupa sehingga yang kemudian terjadi adalah masa pemerintahannya penuh kesulitan dan masalah; karena para bangsawan, meskipun mereka tetap setia kepadanya, namun tidak kooperatif dengan urusan-urusan raja. Efeknya, Raja Henry VII[40] sendiri terpaksa mengerjakan segala sesuatunya.
Untuk para bangsawan kelas kedua; tidak ada bahaya yang besar yang datang dari mereka ketika mereka menjadi suatu tubuh yang terisolasi. Memang kadang kala diskursus-diskursus mereka terlalu tinggi, tetapi hanya menyebabkan rasa sakit yang ringan saja; di samping itu mereka juga adalah penyeimbang bagi bangsawan yang lebih tinggi supaya para bangsawan yang lebih tinggi itu tidak bertumbuh menjadi terlalu kuat; dan yang terakhir, karena dalam hirarki kekuasaan mereka adalah pejabat pemerintahan yang paling langsung berhubungan dengan rakyat, maka mereka adalah orang terbaik dalam memadamkan keributan-keributan yang populer.
Untuk para pedagang; mereka adalah vena porta (“gerbang nadi”)[41] dan jika “gerbang nadi” tidak mengalir, suatu kerajaan kiranya mempunyai dahan yang baik, tetapi memiliki nadi-nadi yang kosong dan memberikan pemasukan sedikit. Pajak dan pungutan yang dibebankan kepada mereka jarang memberikan keuntungan bagi pendapatan raja; karena bahwa dengan pajak yang dibebankan kepada mereka, raja akan mendapatkan keuntungan ribuan kali, tetapi membuat raja kehilangan keuntungan dalam kabupaten, dan memang tarif khusus menjadi naik, tetapi total dari bagian terbesar perdagangan malah menurun.
Berkaitan dengan rakyat jelata; hanya ada sedikit bahaya dari mereka, kecuali kiranya rakyat jelata memiliki kepala penggerak-penggerak yang cemerlang dan hebat; atau ketika anda memprovokasi mereka dengan mencampurkan hal-hal umum dengan nilai-nilai agama, atau adat-istiadat mereka, atau sarana-sarana kehidupan.
Untuk para tentara; adalah suatu keadaan yang berbahaya ketika mereka hanya berada dan tinggal di dalam sebuah wilayah; dan terbiasa mendapat donasi; berkaitan dengan bahaya tersebut, kita melihat contoh-contoh dalam janizari[42] sultan dan praetoria[43] para kaisar Romawi; tetapi dengan melatih dan mempersenjatai mereka di beberapa tempat dan di bawah beberapa komando, serta tanpa ada donasi, sungguh merupakan pertahanan bagi kerajaan dan tidak ada bahaya.
Para raja itu ibarat bintang dari langit; yang menyebabkan kebaikan dan kejahatan zaman; dan yang menuntut pemujaan kepada mereka, meskipun tidak semuanya. Konsekuensinya, segala aturan yang berkaitan dengan para raja haruslah dimengerti di dalam dua kenangan berikut ini: memento quod es homo; dan memento quod es Deus, atau vice Dei (Ingatlah bahwa siapakah seorang manusia itu; dan ingatlah bahwa siapakah Tuhan itu; atau perwira Tuhan); yang satu untuk mengekang kekuasaan mereka; yang lain untuk mengekang keinginan mereka.
[1] Bdk. Amsal 25:3: “Seperti tingginya langit dan dalamnya bumi, demikianlah hati raja-raja tidak terduga”.
[2] Nero Claudius Caesar Augustus Germanicus adalah kaisar Romawi dari tahun 54 sampai tahun 68. Ia diadopsi oleh pamannya yaitu Kaisar Claudius (tentang Kaisar Claudius lihat essai XXII; no. 5) sehingga setelah Claudius mangkat Nero naik takhta Romawi. Nero dikenal sebagai kaisar Romawi yang paling bengis di antara semua kaisar Romawi. Ia banyak menghukum mati dan membunuh orang termasuk ibunya sendiri Agrippa, merebut Poppea Sabina -istri gubernur Otho (tentang Otho lihat essai II; no. 3)-, dan membakar orang-orang Kristen untuk dijadikan obor penerangan taman kota. Tahun 64, kebakaran melanda Roma. Konon yang membakar Roma adalah Nero sendiri dan ia menyaksikan kebakaran Roma sambil memainkan harpa. Kemudian ia menuduh orang-orang Kristen sebagai penyebab kebakaran Roma. Galba (tentang Galba lihat essai II; no. 9) angkat senjata melawan Nero dan mendapat dukungan dari semua pihak. Galba segera menduduki istana Nero. Nero memutuskan untuk bunuh diri dan ia berteriak-teriak memanggil orang-orangnya untuk membantunya bunuh diri tapi tak ada satu pun yang datang karena semua telah meninggalkan Nero. Kata-kata terakhir Nero yang meluncur dari mulutnya sebelum ia mati yang sampai sekarang masih diingat adalah “Qualis artifex pereo” atau “Sungguh seorang artis aku ini yang mati”.
[3] Domitianus lengkapnya Titus Flavius Caesar Domitianus Augustus adalah kaisar Romawi dari tahun 81 sampai tahun 96. Domitianus adalah kaisar terakhir dari dinasti Flavian, anak Kaisar Vespasianus dan adik kandung Kaisar Titus. Setelah Kaisar Titus -kakak kandungnya- mangkat karena sakit, Domitianus menggantikannya. Masa kecil Domitianus hidup di bayang-bayang Titus, yang begitu hebat dan terkenal karena perang Yahudi-Romawi yang pertama. Dengan kata lain, sementara Titus membantu ayahnya dalam urusan kemaharajaan Romawi, tidak demikian dengan Domitianus. Setelah naik takhta, Domitianus memperkuat ekonomi dan pertahanan Romawi di perbatasan Jerman serta membangun besar-besaran kota Roma yang terbakar. Pemerintahan Domitianus adalah pemerintahan yang totaliter. Ia menyebut dirinya sebagai Augustus yang baru bahkan ia adalah kaisar yang pertama yang menyebut dirinya sebagai Dominus et Deus (Kaisar dan Tuhan); ia mengontrol moral publik dan privat; memperbarui hukum Julia de Adulteriis Coercendis, yaitu suatu undang–undang yang menghukum perzinahan dengan pembuangan; menghukum mati para pejabat yang korup; menghukum berat tulisan fitnahan terutama yang ditujukan kepada dirinya; membantai orang–orang Kristen demi melindungi agama negara. Ia populer di kalangan rakyat dan tentara tetapi dibenci di kalangan senat. Ia mati dibunuh dan digantikan oleh Nerva. Para senat mengangap dia sebagai kaisar kejam. Tetapi para sejarah moderen menilai Domitianus sebagai kaisar yang efektif dan cemerlang dalam mengurus kekaisaran dan kebijakan-kebijakannya menjadi fondasi dasar politik dan kenegaraan untuk abad kedua.
[4] Commodus (lengkapnya Marcus Aurelius Commodus Antoninus Augustus) adalah kaisar Romawi dari tahun 180 sampai 192. Ia menjadi kaisar bersama ayahnya yaitu Marcus Aurelius (tentang Marcus Aurelius lihat essai XXVII; no. 24) sampai ayahnya mangkat (memerintah bersama ayahnya selama 3 tahun). Jauh dari kegemilangan ayahnya, Commodus selalu menekankan ketampanan wajahnya. Maka ia membuat ikon tentang dirinya: manusia setengah dewa, titisan Hercules, pelindung dan seorang yang tampan dalam bentuk patung-patung. Ia suka berburu; terkenal dengan kehebatan memanahnya, pandai sebagai gladiator ketimbang ahli kenegaraan. Pada tahun 191 kota Roma mengalami kebakaran hebat sehingga menghancurkan sebagian besar kota. Maka Commodus melihat peristiwa ini sebagai kesempatan untuk mendeklarasikan diri sebagai Romulus yang baru, sehingga ia mengubah nama kota Roma menjadi Colonia Lucia Annia Commodiana. Nama bulan Romawi berubah sesuai dengan namanya Lucius, Aelius, Aurelius, Commodus, Augustus, Herculeus, Romanus, Exsuperatorius, Amazonius, Invictus, Felix, Pius. Legion Romawi menjadi Commodianae, senat menjadi Commodian Senatus. Istananya dan rakyat Roma menjadi Commodianus. Ia pun mati dibunuh dan digantikan oleh Pertinax.
[5] Caracalla (Marcus Aurelius Severus Antoninus Augustus) adalah seorang kaisar Romawi dari tahun 198 sampai 217. Ia adalah anak tertua dari Kaisar Septimius Severus dan hanya untuk waktu yang singkat ia memerintah Romawi bersama adiknya yaitu Kaisar Geta sebelum ia membunuh Geta tahun 211. Caracalla dikenal sebagai salah kaisar yang terburuk karena pembunuhan dan penganiayaan yang dilakukannya. Caracalla mengeluarkan Constitutio Antoniniana (yang juga disebut Dekrit Caracalla) yang memberikan kewarganegaraan Romawi kepada semua orang yang merdeka demi meningkatkan pendapatan pajak. Dia juga kaisar yang melegalkan rumah pemandian umum di Roma. Sampai sekarang pemandian Caracalla masih menjadi salah satu daya tarik wisata di Roma. Ia dibunuh oleh tentaranya sendiri yang bernama Julius Martialis dan digantikan oleh Mucrinus yang adalah kepala praetoria.
[6] Alexander III dari Macedonia yang masyur dengan nama Alexander Agung adalah seorang Yunani raja kerajaan Macedonia yang terletak di wilayah utara Yunani kuno. Selama masa kecil dia diasuh oleh salah satu filsuf terbesar sepanjang masa yaitu Aristoteles (tentang Aristoteles lihat XXVII; no. 1). Di usia tiga puluh, Alexander menjadikan Macedonia sebagai kemaharajaan yang terbesar pada waktu itu, kekuasaannya meliputi laut Ionia sampai pegunungan Himalaya dan menaklukkan kemaharajan Persia. Salah satu kebijakan Alexander dalam penaklukannya adalah budaya Helenisasi yaitu mensisipkan budaya Yunani ke dalam budaya-budaya lokal yang ia taklukkan. Ia meninggal pada usia 32 tahun. Alexander menjadi rujukan, idola, harapan dari para pemimpin militer dan akademi militer di seluruh dunia sampai sekarang ini masih mempelajari taktik militer Alexander.
[7] Diocletianus (Gaius Aurelius Valerius Diocletianus Augustus) adalah kaisar Romawi dari tahun 284 sampai dengan tahun 305. Sebelum menjadi kaisar, Diocletianus adalah jenderal kavaleri Kaisar Carus. Setelah kematian Kaisar Carus dan Kaisar Numerian (anak Kaisar Carus) dalam kampanye perang di Persia, Diocletianus mengambil alih takhta Romawi. Lalu ia membentuk Tetrachy (pemerintahan oleh empat orang) di mana Romawi diperintah oleh 4 kaisar: seorang kaisar memiliki seperempat wilayah kekuasaan Romawi. Mereka yang ditunjuk oleh Kaisar Diocletianus untuk menjadi rekan kerjanya adalah Maximian Augustus, Galerius dan Constantius Chlorus (ayah Contanstinus Agung). Diocletianus juga adalah kaisar yang paling banyak mengejar dan membunuh umat Kristen di seluruh kemaharajaan Romawi. Ia mengeluarkan Dekrit melawan orang-orang Kristen yang isinya perintah untuk membakar seluruh alkitab, penghancuran gereja, penyiksaan kepada uskup, imam dan diakon. Karena sakit, ia mengundurkan diri dari jabatan kaisar lalu mengurus kebun sayur di kota Split (Croatia).
[8] Charles V adalah kaisar kemaharajaan Romawi Suci dan raja kemaharajaan Spanyol (Carlos I de España). Ia adalah pewaris tiga dinasti terkemuka Eropa yaitu dinasti Habsburg, dinasti Valois-Burgundy dan dinasti Trastámara. Charles adalah anak tertua dari Philip IV dan Joan I Navarra. Ketika Philip wafat tahun 1506, Charles menjadi raja Burgundian Netherland, dan ketika ibunya wafat, dia mendapat warisan takhta Castile dan Aragon sehingga menjadi raja Spanyol. Tahun 1519 Charles menjadi kaisar Kemaharajaan Romawi Suci setelah kakeknya Maximilian meninggal. Dengan demikian Charles memerintah dari Eropa (Eropa tengah, Eropa Barat dan Eropa Selatan) sampai koloni-koloni Spanyol di Amerika dan Asia. Semasa pemerintahannya Charles berperang dengan Italia dan Perancis di bawah pimpinan Francis I serta menghadapi ekspansi Ottoman Turki di bawah Sulaiman Agung. Ia juga menghadapi gerakan Protestan di bawah pimpinan Martin Luther. Ketika Pemberontakan Petani meletus di Jerman di mana para pangeran berkoalisi dan bergabung dengan Protestan melawan Charles V, segera Charles memadamkan pemberontakan itu. Namun ia menerima dan melegalkan serta memberi toleransi kepada Protestan dalam kemaharajaan Romawi Suci. Demi menghadapi gerakan Protestan, Charles V mendukung konsili Trente untuk mereformasi gereja Katolik. Ia juga memperluas kemaharajaan Spanyol sampai di benua Amerika, Carribea dan Asia dan membangun koloni-koloni Spanyol di sana. Ia mengundurkan diri tahkta kemaharajaan Spanyol dengan memberikan kepada anaknya Philip II tahun 1556 dan tahkta kemaharajaan Romawi Suci kepada adiknya Ferdinand I tahun 1556. Charles V sendiri pensiun dan tinggal di biara Yuste di Extramadura, Spanyol. Moto Charles Plus Ultra (Jauh Melampaui) menjadi moto nasional Spanyol.
[9] Apollonius dari Tyana adalah seorang filsuf Yunani dan orator dari kota Tyana, provinsi Cappodocia di Asia Kecil.
[10] Tentang Vespasianus lihat essai II; no.8
[11] Henry VIII adalah raja Inggris dari 21 April 1509 sampai 28 Januari 1547. Dia adalah pengganti Henry VII (tentang Henry VII lihat no. 40) dari wangsa Tudor. Henry VIII adalah raja yang memisahkan gereja Inggris dari Roma dan membentuk Gereja Anglikan di mana kepala tertinggi gereja Inggris adalah raja Inggris bukan paus di Roma. Henry memisahkan diri dari Roma karena Paus Clement VII tidak memberikan perceraian kepada Henry yang hendak menceraikan Ratu Catherine dengan alasan bahwa Catherine tidak memberinya keturunan anak laki-laki lalu meminta dispensasi untuk menikah lagi dengan Anney Boleyn. Henry membuang Catherine dan kawin lagi dengan Anne Boleyn. Henry pun diekskomunikasi oleh Roma. Pemisahan Gereja Inggris dari Roma meninggalkan banyak martir. Para imam dan siapa saja yang tidak mau mengakui Henry sebagai kepala gereja dihukum mati: misalnya Thomas Moore (seorang Katolik yang taat dan saleh dan penulis buku Uthopia) yang adalah Lord chancellor Kerajaan Inggris. Henry tetap percaya kepada ajaran agama Katolik meskipun diekskomunikasi oleh gereja Roma. Henry membentuk persatuan antara Inggris dan Wales lewat Undang-Undang Wales Act 1535-1542. Henry VIII mati di usia 55 tahun dan diperkirakan karena sakit siphilis. Sebelum meninggal, Henry berteriak-teriak mengucapkan kata-katanya yang terakhir: “Rahib! Rahib! Rahib!”. Dia juga dikenal sebagai raja yang menikah 6 kali. Berikut ini istri Henry VIII: Catherine Aragon (cerai), Anne Boleyn (dipenggal karena tuduhan incest), Jane Seymour (mati melahirkan), Anne Claves (dianulasi karena menganggap Anne Claves tidak menarik dan untuk menikahi Catherine Howard), Catherine Howard (dipenggal karena perzinahan) dan Catherine Parr (janda)
[12] Francis I adalah raja Perancis dari tahun 1515 sampai dengan tahun 1547. Francis I membawa perubahan budaya bagi Perancis sehingga budaya Perancis diwarnai dengan Renaissance. Ia menjadi pelindung seni Perancis. Selama pemerintahannya Francis memiliki musuh bebuyutan yaitu Charles V – kaisar kemaharajaan Romawi Suci (Charles I Raja Kemaharajaan Spanyol) dan Raja Inggris Henry VIII. Maka ia bersekutu dengan Sulaiman Agung sehingga membentuk Aliansi Perancis-Ottoman. Ia juga mengirim ekspedisi untuk mencari wilayah baru. Misalnya ia mengutus Jean-François de la Roque de Roberval untuk membangun koloni di Kanada dan menyebarkan agama Katolik; Jean Parmentier mencapai Sumatra. Penganiayaan Francis I kepada gerakan Protestan menggiring Perancis kepada Perang Agama di Perancis.
[13] Daun palma digunakan untuk menyambut Yesus sebagai raja yang masuk ke masuk Yerusalem sebelum mati disalibkan. Maka, tanah palma yang dimaksud Bacon berarti kemuliaan, kemenangan dan kemasyuran.
[14] Ferdinand I yang juga disebut dengan Don Ferrante adalah raja Napoli dari tahun 1458 sampai tahun 1494. Kerajaan Napoli pada masa pemerintahanya ada dalam bayang-bayang invasi Perancis dan Ottoman Turki.
[15] Ludovico Sforza adalah raja Milan dan dia dikenal sebagai pelindung (penyokong) Leonardo da Vinci.
[16] Tentang Livia lihat essai II; no. 5
[17] Suami dari Livia adalah Kaisar Augustus. Apakah memang Livia benar meracuni Augustus? Para ahli sejarah silang pendapat tentang kenyataan ini. Tentang Kaisar Augustus lihat essai II; no. 4
[18] Sulaiman I adalah sultan Ottoman Turki dari tahun 1520 sampai tahun 1566. Sulaiman I disebut Sulaiman Agung dan Kanuni (Pembuat Hukum) karena ia berhasil membawa Ottoman Turki kepada masa kejayaannya baik secara militer, ekonomi, politik, hukum dan pendidikan. Sulaiman memimpin tentara Turki menaklukkan benteng Kristiani di Belgrade, Rhodes dan Hungaria. Ia memperluas wilayah Ottoman dari Afrika Utara sampai Algeria serta penguasa lautan Mediterania yang membentang dari Laut Merah sampai dengan Teluk Persia. Ia meninggal ketika sedang mengepung benteng di Hungaria.
[19] Haseki Hürrem Sultan atau orang Eropa menyebutnya Roxalana adalah istri Sulaiman Agung. Ia orang Ukraina, seorang rakyat jelata dan sempat menjadi budak sebelum dipersunting oleh Sulaiman Agung. Setelah menjadi selir Sulaiman, ia dengan cepat mencuri hati Sulaiman Agung. Suatu hari ia bertengkar selir Sulaiman yang lain yaitu Mahidevran untuk memperebutkan takhta Ottoman Turki. Ia ingin anaknya Selim menjadi sultan Turki namun anak Mahidevran yaitu pangeran Mustapha begitu hebat dan cemerlang. Dengan berbagai intrik politik dan perjuangan, akhirnya pangeran Mustapha dibunuh oleh Sulaiman Agung dan anak Roxalana yaitu Selim II naik takhta Ottoman Turki. Roxalana memiliki pengaruh yang besar dalam pemerintahan Sulaiman dan juga ikut andil dalam urusan diplomatik kemarahajaan.
[20] Edward II adalah raja Inggris tahun 1307 sampai dikudeta oleh istrinya sendiri tahun 1327. Edward II adalah raja keenam dari dinasti Plantagenet (pendiri wangsa Plantagenet adalah Henry II; lihat no. 33). Bisa dikatakan bahwa Edward II merupakan raja Inggris yang membawa bencana bagi Kerajaan Inggris: Skotlandia lepas dari wilayah Inggris; ia sendiri suka bersenang-senang dan bisexsual (dengan Piers Gaveston dan Hugh Despenser Muda). Istrinya yaitu Isabela dari Perancis dengan bantuan Roger Mortimer menyerang Inggris dan kemudian menggulingkan Edward II. Edward II pun dipenjara dan mati (kemungkinan besar dibunuh oleh Isabella).
[21] Isabella dari Perancis adalah anak perempuan Raja Perancis Philip IV dan Joan I Navarra, adik Charles V. Isabella ini terkenal dengan kecantikannya, kepintarannya dan diplomasinya sekaligus kelicikannya sehingga dijuluki Srigala dari Perancis. Ketika ia sampai di Inggris untuk menikah dengan Edward II (terkenal juga karena ketampanannya) situasi yang tidak menyenangkan menimpanya bahwa Edward II bisexsual. Setelah beberapa waktu, Isabella tidak dapat mempertahankan lagi perkawinannya. Sembari membawa misi kenegaraan Inggris ke Perancis, Isabella jatuh cinta dengan Roger Mortimer (seorang Inggris yang diasingkan) dan mempersiapkan invasi ke Inggris untuk menggulingkan Edward II. Kisah cinta antara Mortimer dan Isabella merupakan kisah cinta yang indah dari abad pertengahan. Penggulingan pun berhasil. Roger Mortimer dan Isabella segera memerintah Inggris. Kekuasaan mereka dihentikan oleh Edward III (anak Edward II dengan Isabella). Roger Mortimore dipenggal oleh Edward III dengan tuduhan pengkhianatan sementara ibunya diasingkan. Dikabarkan bahwa di pengasingan Isabella mengalami kesedihan luar biasa selama bertahun-tahun karena kematian kekasihnya, Roger Mortimore.
[22] Mustafa dijebak oleh Rüstem Pasha (anak buah Roxalana) sehingga dipenggal oleh ayahnya, Sulaiman Agung. Kematian Mustapha menimbulkan kekacauan di Anatolia karena rakyat mengangap Mustapha sebagai sultan Ottoman yang akan datang pengganti Sulaiman Agung. Oleh karena itu, ia dikenang sebagai Sultan Mustapha.
[23] Selymus yang dimaksud di sini adalah Selim II yang adalah sultan Turki Ottoman dari tahun 1556 sampai tahun 1574; putra Sulaiman yang Agung dan isteri kesayangan Roxalana. Ia naik tahkta setelah melalui intrik dan mengalahkan Mustapha, saudaranya. Ada catatan yang menarik bahwa Selim II pernah mengirimkan bantuan militer ke Aceh untuk menghadapi Portugal sehingga membuat Aceh menyerang Portugal di Malaka.
[24]Flavius Julius Crispus adalah anak pertama dari Kaisar Constantinus I dan Minervina. Crispus membantu ayahnya dalam perang menghadapi Licinus. Ia berhasil memenangkan pertempuran di Hellespont dan pertempuran Chrysopolis yang merupakan kemenangan definitif bagi Constantinus I atas Licinus. Crispus dianggap sebagai figur calon kaisar yang paling tepat dan paling disayangi dibanding ketiga saudaranya Constantinus II, Constantius II dan Constans. Tiba-tiba tanpa alasan yang jelas Crispus dibawa ke pengadilan dan dihukum mati. Setelah itu, istri Constantinus Agung yaitu Flavia juga ditemukan tewas dibunuh di kamar mandi. Menurut para ahli sejarah, hukuman mati kepada Crispus, anak tersayang Constantinus I ada kaitannya dengan pembunuhan Flavia. Ada banyak spekulasi, salah satunya adalah Crispus berselingkuh dengan Flavia.
[25] Constantinus I atau Constantinus yang Agung (Flavius Valerius Aurelius Constantinus Augustus) adalah kaisar Romawi pertama yang beragama Kristiani yang memerintah Romawi dari tahun 306 sampai tahun 337. Ia adalah anak Kaisar Constantius Clorus (Diocletianus membagi kekuasaan Romawi kepada Maximian, Constantius Chlorus dan Galerius). Dalam masa pemerintahannya, ia bersama Licinus (Kaisar Romawi Timur) mengeluarkan Dekrit Milan yaitu suatu dekrit yang memberikan toleransi kepada semua agama di seluruh kemaharajaan Romawi. Dengan adanya Dekrit Milan ini, agama Kristiani berkembang dengan subur di seluruh kemaharajaan. Ia mengakhiri kekuasaan Romawi yang terbagi-bagi dan menjadi Kaisar tunggal Romawi dengan mengalahkan Kaisar Maxentius (anak Kaisar Maximian) dan Kaisar Licinus (jenderal Kaisar Galerius) selama perang sipil bersama anak kesayangannya Crispus. Dalam urusan luar negeri, Constantinus I juga berhasil menaklukkan bangsa Franks, Alamanni, Visigoth dan Sarmatian. Pemerintahan Constantinus memberikan konstribusi besar dalam agama Katolik karena ia berhasil memecahkan persoalan-persoalan yang melanda agama Katolik. Misalnya ia mengeluarkan dekrit melawan Donatisme (semacama bidaah) dan membuang Donatus. Ketika biadaah Arianisme berkembang, Constantinus juga mengadakan Konsili Nicea (menghasilkan credo Nicea). Setelah ia mangkat, kekuasaannya diperebutkan oleh anak-anaknya sehingga saling membunuh satu sama lain. Constantinus sendiri menghukum mati anak kesayangannya Crispus. Maka bisa dikatakan bahwa semua yang terjadi adalah sebuah tragedi istana Constantinus.
[26] Constantinus II (Flavius Claudius Constantinus Augustus) adalah kaisar Romawi dari tahun 337 sampai dengan tahun 340 anak kaisar Constantinus Agung dan Fausta. Ia menjadi Kaisar bersama adiknya Constans. Akhirnya dia terbunuh dalam invasi ke Italia tahun 340 oleh adiknya Constans.
[27] Constans (Flavius Julius Constans Augustus) adalah kaisar Romawi dari tahun 337 sampai dengan tahun 350. Ia mendapatkan takhta Romawi secara penuh setelah mengalahkan dan membunuh kakaknya Constantinus II tahun 340. Pembunuhan kepada Constantinus II menimbulkan kemarahan di dalam tubuh tentara Romawi sehingga seorang jenderal bernama Magnentius memberontak dan berhasil membunuh Constans tahun 350.
[28] Constantius II (Flavius Julius Constantius Augustus) adalah kaisar Romawi dari tahun 337 sampai dengan tahun 361, anak kedua Constantinus Agung dan Fausta. Ia mendapatkan takhta Romawi setelah kakaknya Constantinus II dan adiknya Constans mati terbunuh. Constantius I segera angkat senjata melawan Magnentius yang mendeklarasikan diri sebagai kaisar setelah berhasil membunuh Constans. Constantius I berhasil mengalahkan Magnentius. Setelah menjadi penguasa tunggal kemaharajaan Romawi yang begitu luas, ia mengangkat Constantius Gallus dan Julius Constantius sebagai pembantunya. Namun Julius Constantius segera dihukum mati karena korupsi dan kejahatannya. Sebagai gantinya ia mengangkat sepupunya yaitu Julian. Dengan kepercayaan yang tinggi karena kesuksesan militer, Julian memberontak melawan Constantius. Constantius menggerakkan pasukannya untuk membasmi pemberontakan Julian. Di kota Mopsuestia, Constantius sakit parah. Kemudian sebelum meninggal, ia minta dibaptis dan mendeklarasikan Julian sebagai penggantinya yang sah.
[29] Julian (Flavius Claudius Julianus Augustus) yang dikenal dengan Julian si Pengingkar Agama atau Julian sang filsuf adalah kaisar Romawi dari tahun 361 sampai tahun 363 sekaligus seorang filsuf dan penulis filsafat Yunani. Ia berhasil mendapat takhta Romawi setelah Kaisar Constantius mati sakit. Dia disebut Julian si Pengingkar Agama karena ia berusaha mengembalikan agama kuno Romawi untuk menjadi agama negara dan menolak agama Kristiani. Pandangannya yang demikian disebabkan oleh filsafat Neoplatonis yang dia anut. Dia adalah kaisar terakhir dari dinasti Constantinus. Ia terluka parah dan kemudian meninggal dalam kampanye menyerang kemaharajaan Sassanid.
[30] Ada suatu kerancuan tentang anak Demetrius yang disebut Bacon sebagai Philip II Macedonia. Dalam sejarah, Demetrius II mempunyai anak yang bernama Philip dan akan menjadi raja Macedonia dengan nama Philip V bukan Philip II sebab Philip II (ayah Alexander Agung) adalah anak Raja Amyntas IV, bukan Demetrius II. Demetrius II Aetolicus adalah raja Macedonia dari dinasti Antigonis. Ayahnya yaitu Raja Antigonus Gonatas telah memberikan mahkota kerajaan kepada Demetrius II sehingga ia menjadi raja bersama ayahnya. Demetrius banyak melakukan peperangan dan penaklukkan. Ia meninggal ketika melawan suku barbar yang menyerang Macedonia. Pada saat Demetrius mangkat, anaknya yaitu Philip yang nantinya menjadi raja Macedonia dengan nama Philip V, masih kecil.
[31] Selim I adalah sultan Ottoman Turki dari tahun 1512 sampai tahun 1520. Dia panggil Yavuz yang berarti Si Keras. Dia dikenal karena penaklukkannya akan Mesir dan dunia Arab. Setelah menaklukkan Mesir, Selim I mengambil gelar Kalifa Islam sehingga dia adalah sultan Ottoman Turki yang pertama yang memakai gelar itu.
[32] Bayezid II adalah sultan kemaharajan Turki dari tahun 1481 sampai dengan 1512. Ia adalah anak dan penerus Sultan Mehmed II. Selama pemerintahannya Bayezid II memperkuat Ottoman Turki. Ia dipaksa turun takhta oleh anaknya yaitu Selim I.
[33] Ketiga anak Henry II yang melawan Henry: Richard, Geoffrey dan Henry Muda. Lihat no. 38
[34] Anselmus dari Canterbury adalah rahib Benediktin, filsuf dan uskup Agung Canterbury. Sebagai seorang filsuf ia terkenal dengan argumen ontologis untuk membuktikan eksistensi Tuhan. Ucapannya yang tersohor adalah credo ut intelligam (saya percaya supaya mengerti). Lengkapnya sebagai berikut: “Saya tidak berusaha mengerti supaya percaya, tetapi saya percaya supaya kiranya saya mengerti”. Dalam pembuktian akan eksistensi Tuhan, Anselmus menulisnya dalam Monologion dan Proslogion. Dalam Monologion, Anselmus berpendapat bahwa segala sesuatunya yang baik itu bervariasi, maka segala sesuatu yang baik yang bervariasi pasti bersumber pada satu kebaikan absolut yaitu Tuhan. Dalam Proslogion, Anselmus mengatakan bahwa Tuhan adalah sesuatu yang lebih besar dari yang tidak dapat dipikirkan. Jika yang lebih besar yang tidak dapat dipikirkan itu hanya ada di dalam pikiran, ide atau persepsi, maka hal itu tidak akan menjadi sesuatu yang lebih besar yang tidak dapat dipikirkan, karena sesuatu yang lebih besar yang tidak dapat dipikirkan juga ada di dalam realitas. Jadi, Tuhan -sesuatu yang lebih besar yang tidak dapat dipikirkan- ada di dalam pikiran, ide maupun juga dalam realitas. Dengan demikian Tuhan itu ada. Anselmus diangkat menjadi Doktor Gereja pada tahun 1720 oleh Paus Clement XI. Konflik dengan William II (William Rufus) diawali dengan pungutan William II kepada sang uskup untuk pembiayaan perang William melawan kakaknya Robert II. Anselmus hanya menyumbang William 500 pound karena uang sebagian besar diberikan untuk kaum miskin dan papa. William marah dan menuntut lebih banyak. Yang kedua: aturan gereja bahwa uskup Agung metropolitan (yang mengepalai satu provinsi Gerejawi) tidak bisa ditahbiskan tanpa pallium dari Roma. Pallium atau Palla (sehelai mantel wol) merupakan pakaian Liturgi dalam Gereja Katolik Roma, yang pada permulaan untuk paus, tetapi selanjutnya dianugerahkan oleh paus kepada para metropolitan dan primat sebagai lambang dari yurisdiksi yang diembankan kepada mereka oleh Takhta Suci. Anselmus bersikukuh bahwa dia harus mendapatkan pallium dulu dari paus. William tidak mau karena tidak mengakui Urbanus sebagai paus. Konflik yang ketiga: William menuduh bahwa Anselmus tidak memberikan prajuritnya yang terbaik dalam memadamkan pemberontakan di Wales sebaliknya Anselmus menuduh William bahwa William mencegah Anselmus untuk memperbaharui gereja. Anselmus diasingkan. Lalu konflik Anselmus dengan Henry I adalah soal pemilihan uskup. Henry bersikukuh bahwa pemilihan uskup adalah hak raja bukan paus. Anselmus membantah bahwa pemilihan uskup adalah hak paus bukan raja. Anselmus pun dibuang untuk kedua kalinya. Lalu Paus Paschal II pun akhirnya mengekskomunikasi uskup-uskup yang ditahbiskan oleh Henry II. Konflik ini diakhirnya dengan Concordat London yaitu suatu kompromi antara Gereja dan kerajaan Inggris soal pemilihan uskup di mana tetap otoritas Roma yang memilih uskup-uskupnya bukan raja. Sekembalinya dari pengasingan, Anselmus terus berusaha memperbaiki gereja sekaligus memberikan pelayanan dan kebijaksanaan kepada kerajaan Inggris.
[35] Thomas Becket adalah uskup agung Canterbury dari tahun 1162 sampai tahun 1170. Ia dibunuh oleh Henry II berkaitan dengan konflik tentang konstitusi Clarendon di mana lewat konstitusi Clarendon sang raja hendak melemahkan otoritas Roma berkaitan dengan pemilihan uskup. Becket menolak konstitusi Clarendon dan melarikan diri ke Perancis serta mengekskomunikasi raja. Puncak perseteruan adalah ketika ketiga uskup pilihan raja memahkotai anak Henry padahal itu adalah hak uskup Canterbury sehingga Becket mengekskomunikasi ketiga uskup tersebut. Henry marah lalu menyuruh empat ksatria Inggris membunuh Becket. Segera setelah kematiannya, Becket dikanonisasi oleh Paus Alexander III kemudian menjadi orang kudus. Pada tanggal 12 Juli 1174, ketika terjadi pemberontakan, Henry sembah sujud dan menyesal di makam Thomas Becket dan di gereja St. Dunstan.
[36] Wiliam Rufus adalah William II, anak Raja Wiliam I (William I dikenal juga sebagai William Sang Penakluk dari dinasti Normandy) yang memerintah Inggris tahun 1087 sampai tahun 1100. Dia dipanggil Wiliam Rufus karena wajah merahnya. Banyak orang yang tidak suka kepada Wiliam Rufus dan William sendiri juga membenci rakyatnya. Ia juga bentrok dengan gereja. Sebagai orang Normandy, William menghina budaya Inggris. Perlu diketahui bahwa dinasti Normandy di bawah pimpinan William sang penakluk menaklukkan Inggris. William Rufus tidak menikah dan tidak mempunyai anak. Ia mati kena panah selagi berburu. Adiknya yaitu Henry I menggantikannya.
[37] Henry I adalah anak keempat dari Raja Wiliam I dan pengganti WIliam II (yang disebut Rufus). Ia berhasil mengamankan mahkota Inggris dengan mengalahkan kakaknya Robert Curthose (ketika William II mangkat, Robert Curthose sedang berpartisipasi dalam Perang Salib). Ia memperbaiki situasi sosial dan hukum Inggris: ia menerbitkan Charter Of Liberties yang nanti menginspirasikan kelahiran Magna Carta (undang-undang yang menyatakan bahwa raja juga tunduk kepada hukum). Kebijakan politiknya membuat perbedaan antara orang Inggris dan Normandy semakin berkurang bahkan ia menikah dengan orang Inggris asli. Ia berdamai dengan gereja. Ia sempat bersitegang dengan Anselmus -Uskup agung Canterburry- dan Paus Paschal II soal kontroversi pentahbisan uskup dan abbas atau pemimpin biara (lihat catatan kaki no. 34). Pada umumnya, pemerintahan Henry I makmur dan tenang. Henry I mati diracun. Mahkota Inggris diperebutkan antara anak perempuannya yaitu Ratu Matilda (pewaris Normandy) dan keponakannya yaitu Stephen dari Blois. Peperangan antara Matilda dan Stephen membawa Inggris ke dalam perang sipil yang dikenal dengan masa Anarchy. Pertempuran berakhir setelah Stephen memilih anak Matilda yaitu Henry Plantagenet (Henry II) sebagai penerus takhta kerajaan Inggris.
[38] Henry II adalah anak Geoffrey Anjou dan Ratu Matilda (Ratu Matilda adalah anak Henry I) yang dikenal dengan nama Henry Plantagenet. Henry II dari garis ayahnya, ia adalah pewaris wilayah Anjou, Touraine dan Maine; dari ibunya Matilda, Henry pewaris wilayah Normandy sekaligus takhta Inggris. Ia menikahi Eleanor dari Aquitaine -istri Raja Perancis Louis VII- yang telah dianulir perkawinannya. Dengan menikahi Eleanor, Henry mendapatkan warisan Aquitaine sehingga kemaharajaan Plantagenet meliputi dari perbatasan Skotlandia (termasuk Wales dan Brittany) sampai ke pegunungan Pyrenees dan mencakup sepertiga wilayah Perancis dengan seluruh daerah pesisir dari Treport sampai ke sungai Bidasoa. Kemaharajaan Plantagenet juga disebut dengan nama kemaharajaan Angevin. Selama masa pemerintahannya, Henry II memperbaiki ekonomi Inggris yang kacau balau. Ia juga dianggap sebagai raja yang meletakkan fondasi English Common law. Dalam relasinya dengan hirarki Gereja, Henry berusaha bekerja sama dengan gereja, tetapi ia membuat kesalahan besar dengan membunuh Uskup Agung Canterburry, Thomas Becket (Lihat catatan kaki no. 35). Henry mempunyai banyak anak sehingga anak-anaknya seperti Richard, Geoffrey dan Henry Muda angkat senjata melawan ayahnya sendiri bahkan pemberontakan anak-anaknya didukung oleh istrinya sendiri yaitu Eleanor. Henry meninggal karena sakit dan digantikan oleh Richard I. Namun karena Richard I ikut perang salib takhta Inggris diisi oleh anak paling bungsu Henry yaitu John sehingga kemaharajaan Plantagenet segera kolap. Kekuasaan Plantagenet di Perancis juga direbut kembali oleh raja Perancis yaitu Philip Agustus.
[39] Maksudnya pertikaian para prelatus dengan raja bukanlah hal yang membahayakan.
[40] Henry VII adalah raja Inggris yang naik takhta Inggris pada 22 Agustus 1485 dan memerintah Inggris sampai dengan 21 April 1509. Dia adalah raja pertama Inggris dari dinasti Tudor. Henry VII mendapatkan mahkota kerajaan Inggris setelah mengalahkan raja Inggris Richard III dalam pertempuran di Bosworth sehingga dia adalah raja Inggris yang terakhir yang mendapatkan mahkota kerajaan lewat pertempuran. Pada saat memerintah Inggris, Henry VII berhasil mengembalikan stabilitas dan memperbaiki perekonomian Inggris dengan cemerlang. Dia digantikan oleh anaknya, yaitu Henry VIII ( tentang Henry VIII lihat no. 11)
[41] Gerbang – nadi yang dimaksud Bacon adalah sebagai distribusi makanan ke seluruh tubuh.
[42] Janizary adalah tentara pengawal sultan Ottoman Turki.
[43] Pretoria adalah tentara pengawal kaisar Romawi.
Related
Author: Duckjesui
lulus dari universitas ducksophia di kota Bebek. Kwek kwek kwak	View all posts by Duckjesui
Author DuckjesuiPosted on September 22, 2016 December 31, 2019 Categories Francis Bacon -Essai-Essai Kenegaraan dan Moral- terjemahan dari Harvard Classics, Vol. 3, Part 1 Essays, Civil and Moral NEW YORK: P.F. COLLIER & SON COMPANY, 1909–14 NEW YORK: BARTLEBY.COM, 2001
Leave a Reply	Cancel reply
Post navigation
Previous Previous post: Melancong
Next Next post: Nasihat
Search for:
Search
Archives
Archives Select Month May 2022 February 2022 October 2021 September 2021 June 2021 January 2021 December 2020 October 2020 September 2020 August 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 August 2019 July 2019 June 2019 May 2019 April 2019 January 2019 December 2018 November 2018 October 2018 August 2018 July 2018 June 2018 April 2018 February 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 February 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 November 2015
Categories
Etika
Excursus
filsafat sosial
Francis Bacon -Essai-Essai Kenegaraan dan Moral- terjemahan dari Harvard Classics, Vol. 3, Part 1 Essays, Civil and Moral NEW YORK: P.F. COLLIER & SON COMPANY, 1909–14 NEW YORK: BARTLEBY.COM, 2001


content: indoslot77.com adalah salah satu situs yang memceritakan atau memperjelas sebuah permainan situs judi slot mesin games online. Dapatkan juga tips untuk cara bermain slot mesin games online yang mudah untuk menang.

warc-type: conversion

content-type: text/plain

warc-identified-content-language: ind,eng

label: id


content:
Beberapa Program Afiliasi yang Sangat Menguntungkan Anda Mungkin Belum Pernah Mendengar Tentang - nikefactory-outlet.us.com
Skip to content
nikefactory-outlet.us.com
Currency Trading Blog Info
Menu
Home
About Us
Contact Us
Privacy Policy
Beberapa Program Afiliasi yang Sangat Menguntungkan Anda Mungkin Belum Pernah Mendengar Tentang
On: December 20, 2019 December 18, 2019 By: admin
Penelitian memberi tahu kami bahwa setidaknya 98% dari perusahaan baru afiliasi gagal tanpa menghasilkan uang. Di sisi lain ada ribuan orang mencari nafkah melalui mempromosikan skema afiliasi di internet. Salah satu alasan utama tingginya tingkat kegagalan adalah karena orang menjual barang yang salah. Contoh paling relevan dari masalah ini adalah dalam ceruk produk pemasaran afiliasi itu sendiri – karena masuk akal untuk menjual sesuatu yang Anda kenal, sebagian besar afiliasi mulai dengan mempromosikan jenis produk afiliasi yang akan mereka beli sendiri. Sementara pemasar afiliasi sangat rentan untuk melakukan e-book dan pembelian kursus pelatihan, kami telah mencapai titik di mana ceruk afiliasi jenuh untuk menunjuk di mana hampir tidak mungkin untuk menembus pasar.
Dari pengalaman saya sendiri, saya hanya memiliki bandarqq online kecil dari kesuksesan yang saya alami di masa lalu. Saya biasa menjalankan, dan mempromosikan tautan afiliasi melalui, blog pemasaran internet yang sangat sukses – Saya kemudian menjual blog ini dengan harga yang wajar untuk berinvestasi dalam beberapa proyek afiliasi baru. Salah satu proyek ini adalah situs yang ditautkan ke dalam kotak sumber daya saya di Artikel Ezine. Sekarang, sementara teknik pemasaran tradisional (daripada penemuan modern seperti bookmark sosial) yang saya gunakan jelas menjelaskan beberapa kesulitan yang saya hadapi, saya tidak percaya ini adalah satu-satunya penjelasan. Lalu lintas saya saat ini hanya 10% dari situs saya sebelumnya meskipun konten dan kualitasnya serupa dan ini tetap stabil meskipun saya berupaya memperluas metode pemasaran saya. Penjelasan lain dapat berupa perubahan pada algoritma mesin pencari (seperti perubahan algoritma Google terbaru) tetapi saya yakin masalah utamanya adalah sederhananya bahwa sejak 2006 pasar afiliasi telah jenuh. Afiliasi malas langsung ke Clickbank, pergi ke apa yang mereka tahu, pilih produk afiliasi gravitasi sangat tinggi – akibatnya ada ikan lain yang sangat kecil di kolam yang sangat besar. Sayangnya tidak ada cukup makanan (atau penjualan afiliasi) untuk berputar.
Namun untungnya ada kolam lain dengan potensi penghasilan lebih besar dan afiliasi yang jauh lebih sedikit untuk bersaing. Pada dasarnya artikel ini ada di sini untuk melakukan beberapa penelitian utama yang harus Anda lakukan jika Anda ingin menemukannya. Program afiliasi yang saya daftarkan di bawah ini dicantumkan oleh perusahaan atau industri dan masing-masing merupakan pasar afiliasi yang sangat menguntungkan, atau berpotensi menguntungkan, beberapa di antaranya sudah dibanjiri afiliasi, atau dengan cepat menjadi banjir. Namun demikian, mereka akan memberi Anda gagasan tentang berbagai macam produk afiliasi yang tersedia untuk dipromosikan, dan mungkin memberi Anda beberapa gagasan tentang jalur yang ingin Anda ambil dalam pemasaran afiliasi. Saya sangat menyarankan Anda menjauh dari pemasaran afiliasi dan berikut adalah beberapa ceruk yang Anda mungkin, atau mungkin tidak, pernah dengar.
Perjudian
Perjudian telah direvolusi oleh penemuan internet dan industri masih terus berkembang. Pertaruhan internet memimpin pertumbuhan dan situs semakin maju – Anda dapat bersaing dengan pemain lain di ruang poker dan memasang taruhan dari ponsel pintar Anda. Beruntung bagi kami perjudian internet juga berarti bisnis besar, terutama di Inggris dan Australia – skema afiliasi membayar antara 20% dan 30% dari pendapatan yang benar-benar luar biasa. Ini berarti tidak masalah apakah mereka menang atau kalah, semua pendaftaran Anda akan menghasilkan uang bagi Anda. Pikirkan tentang hal ini, jika seseorang kembali dan bertaruh 100 ($ 150) sebulan, itu harus menjadi yang termudah 20 yang akan Anda dapatkan dalam hidup Anda. Jika Anda bisa mendaftar 20 pemain seperti ini, Anda bisa mendapatkan uang yang sangat baik.
Inilah sedikit cerita yang mungkin menginspirasi. Suatu hari saya dan teman-teman memutuskan untuk mencoba eksperimen kecil dengan berjudi afiliasi. Pada dasarnya kami membuat situs web satu halaman yang mudah dibuat, bebas untuk dihosting, dengan pilihan lima penawaran bandar judi terbaik untuk festival Ascot mendatang, dengan tautan afiliasi kami mengarahkan pengunjung. Situs ini ditayangkan sehari sebelum acara sehingga kami tidak melakukan promosi online – sebaliknya kami pergi ke festival dan membagikan selebaran yang murah, tetapi terlihat profesional, mengarahkan orang ke situs kami untuk ‘penawaran Ascot terbaik’ . Inilah keindahan rencana bisnis kami – pada hari kami membagikan sekitar 1000 selebaran dan mendapatkan sekitar 30 pendaftaran ke lima situs yang berbeda. Pada hari kami menerima lebih dari 100 dari tiga puluh pendaftaran kami, tetapi sejak itu kami masih mendekati jumlah yang sama setiap bulan, hanya dari akun yang sama! Penghasilannya secara mengejutkan stabil dan setidaknya membayar untuk beberapa malam.
Category: Uncategorized Tagged agen dominoqq, bandarqq, Bandarqq online, Dominoqq, judi qq, judi qq online, judiqq, pkv, pkv games, pkv games qq, Poker qq, pokerqq, Situs Bandarqq
←previous next →
Leave a Reply Cancel reply
Your email address will not be published. Required fields are marked *
Comment *
Name *
Email *
Website
Search
Recent Posts
Cara Membuat Roda Lotere Untuk Pilihan 3 Atau 4
Memilih situs kasino perjudian
Pratinjau dan Proyeksi NFC West 2006
Permainan slot online keberuntungan
Pentingnya Ulasan Kasino Online
Archives
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
December 2018
November 2018
October 2018
News
Sebagai situs slot online pulsa tanpa potongan tentu saja MPLAYSLOT menyediakan berbagai macam jenis promosi yang sangat menunjang permainan para pemain.
LGOGACOR adalah penyedia Situs Slot Gacor terpercaya resmi di Indonesia yang menyediakan ribuan daftar judi slot online terbaru dan paling hits.
LGO188 memberikan jaminan bahwa kami adalah Situs Slot gacor terpercaya dengan jackpot yang bisa mendapatkan mencapai ratusan juta rupiah.
Selamat Datang di Agen Judi Bola Terpercaya indonesia terpercaya LGOHoki dengan permainan terlengkap yang dimainkan selama 24 jam nonstop setiap hari.
SLOT GACOR sebagai Situs Slot Gacor terpercaya menyediakan banyak permainan judi online yang hanya bisa anda temukan hanya di SLOT GACOR.
Standarisasi sistem Cara daftar slot online adalah proses deposit dan withdrawal hanya 3 menit dan sudah menggunakan digital wallet.
daftar agen slot online terbaik dalam situs judi slot online dengan jackpot terbesar dan yang pastinya merupakan permainan slot mudah.
Slot Depo Pulsa resmi UG212 menjadi permainan yang paling banyak dipilih para bettor Indonesia karena menyuguhkan hiburan menarik.
Kios Slot 88 sebagai agen slot online tanpa potongan dan terpercaya di Indonesia yang menyajikan judi online dengan produk permainan yang sangat lengkap.
Situs Judi Slot Online UGSlot mempunyai berbagai macam kemudahan untuk anda dalam melakukan deposit melalui Smartpone menggunakan link terbaru 2021.
Situs Judi Slot Terpercaya UGSlot memiliki customer service dengan respon tercepat dan game judi terlengkap serta ramah yang menjadi ciri situs judi terbaik.
slot mpo menjadi wadah raksasa tempat berkumpulnya jutaan pecinta permainan judi online di Asia berada dibawah provider standar regulasi BMM Compliance.
MPO700 sebagai situs slot mpo online terpercaya indonesia yang memiliki lebih dari ratusan permainan slot game online yang dapat anda mainkan kapan saja.
Toto188 sebagai Bandar togel online terpercaya memiliki lisensi resmi untuk beroperasi melayani masyarakat Indonesia yang ingin bertaruh dengan uang asli.
Situs bonus slot dari USAHA GROUP mengutamakan keamanan member jadi Anda tidak perlu khawatir untuk privasi data pribadi karena dijamin 100% aman.
MPO800 agen slot online terbesar dengan winrate paling tinggi sebagai Agen slot terbesar di Indonesia yang menyediakan fasilitas deposit pulsa.
Usaha188 merupakan situs judi online yang memiliki beberapa koleksi judi online yang cukup lengkap mulai dari judi bola hingga slot online terbaik.
Agen Judi Slot Online Mpo555 sudah bersertifikat lisensi resmi dan memiliki member aktif hingg hingga ribuan.
Banyak keuntungan yang membuat orang memilih Situs Slot Online Terpercaya MPOGOAL karena bonus yang melimpah.
MPO100 adalah Agen slot online resmi dan taruhan judi slot online terpercaya. Semua games bisa dimainkan dengan 1 ID saja.
MPO500 merupakan situs bandar judi online, games judi slot online terbaik dan judi bola indonesia terbaru, terbesar dan terpercaya.
QQLucky8 merupakan Agen Judi Online terpercaya yang menghadirkan taruhan judi online secara Live seperti Casino online uang asli Rupiah dengan Live dealer yang ramah.
MPO868 merupakan agen judi online terpercaya yang mendapatkan license dari Filipin. Pasti aman serta bisa dipastikan MPO868 tidak ada kecurangan atau manipulasi kemenangan.
Latest News
LGOGACOR adalah penyedia Situs Slot Gacor terpercaya resmi di Indonesia yang menyediakan ribuan daftar judi slot online terbaru dan paling hits.
LGO188 memberikan jaminan bahwa kami adalah Situs Slot gacor terpercaya dengan jackpot yang bisa mendapatkan mencapai ratusan juta rupiah.
Selamat Datang di Agen Judi Bola Terpercaya indonesia terpercaya LGOHoki dengan permainan terlengkap yang dimainkan selama 24 jam nonstop setiap hari.
Poker88 slot menyediakan permainan judi kartu online yang terfavorit di kalangan masyrakat tanah air Indonesia hanya menggunakan 1 akun ID.
SLOT GACOR sebagai Situs Slot Gacor terpercaya menyediakan banyak permainan judi online yang hanya bisa anda temukan hanya di SLOT GACOR.
Standarisasi sistem Cara daftar slot online adalah proses deposit dan withdrawal hanya 3 menit dan sudah menggunakan digital wallet.
daftar agen slot online terbaik dalam situs judi slot online dengan jackpot terbesar dan yang pastinya merupakan permainan slot mudah.
Slot Depo Pulsa resmi UG212 menjadi permainan yang paling banyak dipilih para bettor Indonesia karena menyuguhkan hiburan menarik.
Kios Slot 88 sebagai agen slot online tanpa potongan dan terpercaya di Indonesia yang menyajikan judi online dengan produk permainan yang sangat lengkap.
Situs Judi Slot Online UGSlot mempunyai berbagai macam kemudahan untuk anda dalam melakukan deposit melalui Smartpone menggunakan link terbaru 2021.
Situs Judi Slot Terpercaya UGSlot memiliki customer service dengan respon tercepat dan game judi terlengkap serta ramah yang menjadi ciri situs judi terbaik.
slot mpo menjadi wadah raksasa tempat berkumpulnya jutaan pecinta permainan judi online di Asia berada dibawah provider standar regulasi BMM Compliance.
MPO700 sebagai situs slot mpo online terpercaya indonesia yang memiliki lebih dari ratusan permainan slot game online yang dapat anda mainkan kapan saja.
Toto188 sebagai Bandar togel online terpercaya memiliki lisensi resmi untuk beroperasi melayani masyarakat Indonesia yang ingin bertaruh dengan uang asli.
Situs bonus slot dari USAHA GROUP mengutamakan keamanan member jadi Anda tidak perlu khawatir untuk privasi data pribadi karena dijamin 100% aman.
MPO800 agen slot online terbesar dengan winrate paling tinggi sebagai Agen slot terbesar di Indonesia yang menyediakan fasilitas deposit pulsa.
Usaha188 merupakan situs judi online yang memiliki beberapa koleksi judi online yang cukup lengkap mulai dari judi bola hingga slot online terbaik.
Agen Judi Slot Online Mpo555 sudah bersertifikat lisensi resmi dan memiliki member aktif hingg hingga ribuan.
Banyak keuntungan yang membuat orang memilih Situs Slot Online Terpercaya MPOGOAL karena bonus yang melimpah.
MPO100 adalah Agen slot online resmi dan taruhan judi slot online terpercaya. Semua games bisa dimainkan dengan 1 ID saja.
MPO500 merupakan situs bandar judi online, games judi slot online terbaik dan judi bola indonesia terbaru, terbesar dan terpercaya.
QQLucky8 merupakan Agen Judi Online terpercaya yang menghadirkan taruhan judi online secara Live seperti Casino online uang asli Rupiah dengan Live dealer yang ramah.
MPO868 merupakan agen judi online terpercaya yang mendapatkan license dari Filipin. Pasti aman serta bisa dipastikan MPO868 tidak ada kecurangan atau manipulasi kemenangan.
Situs judi online resmi VIVA99 mampu menjaga semua data member judi agar terhindar dari kebocoran data kepada pihak yang tidak bertanggung jawab.
Situs Judi 138 Slot Online Obor138 sendiri tergolong kedalam situs judi slot terbaik dan berkualitas serta tetap memberikan kenyamanan dan keamanan.

label: en


content: Dongkrak Usaha 1000 adalah kumpulan domain yang berjumlah 1000, yang menghubungkan para pembuat konten dengan domain-domain yang banyak jumlahnya, yang bisa digunakan untuk backlink.


content: Pada suatu hari, hiduplah dua ekor kelinci yang sangat baik. Mereka selalu bermain bersama dan berangkat sekolah pun bersama. Di sana juga hidup seekor harimau besar dan kuat. Namun dia baik dan sering menolong kelinci jika terancam bahaya. Suatu ketika, kedua kelinci itu berangkat sekolah bersama. Namun, tidak sengaja salah satu kelinci yang kecil tersandung. … Read more

warc-identified-content-language: msa


content:
Saya bekerja dalam ilmu komputasi, dan sebagai hasilnya, saya menghabiskan banyak waktu untuk mencoba meningkatkan throughput ilmiah banyak kode, serta memahami efisiensi kode-kode ini.
Mari kita asumsikan saya telah mengevaluasi kinerja vs keterbacaan / penggunaan kembali / pemeliharaan tradeoff dari perangkat lunak yang saya kerjakan, dan saya telah memutuskan bahwa sudah waktunya untuk mencari kinerja. Mari kita juga berasumsi bahwa saya tahu saya tidak memiliki algoritma yang lebih baik untuk masalah saya (dalam hal gagal / s dan bandwidth memori). Anda juga dapat mengasumsikan basis kode saya dalam bahasa tingkat rendah seperti C, C ++, atau Fortran. Akhirnya, mari kita asumsikan bahwa tidak ada paralelisme yang bisa didapat dalam kode, atau bahwa kita hanya tertarik pada kinerja pada satu inti.
Apa hal terpenting yang harus dicoba terlebih dahulu? Bagaimana saya tahu berapa banyak kinerja yang bisa saya dapatkan?
performance
— Aron Ahmadia
sumber
Jawaban:
Pertama-tama, seperti yang ditunjukkan oleh pakar dan Dan , pembuatan profil itu penting. Saya pribadi menggunakan Intel VTune Amplifier di Linux karena memberi saya gambaran yang sangat bagus tentang di mana waktu dihabiskan untuk melakukan apa.
Jika Anda tidak akan mengubah algoritma (yaitu jika tidak akan ada perubahan besar yang akan mengubah semua optimasi Anda menjadi usang), maka saya sarankan mencari beberapa detail implementasi umum yang dapat membuat perbedaan besar:
Memori lokalitas : apakah data yang dibaca / digunakan bersama juga disimpan bersama, atau apakah Anda mengambil potongan-potongan di sana-sini?
Memory alignment : apakah ganda Anda benar-benar sejajar dengan 4 byte? Bagaimana Anda mengepak barang Anda structs? Untuk menjadi bertele-tele, gunakan posix_memalignsaja malloc.
Efisiensi cache : Lokalitas menangani sebagian besar masalah efisiensi cache, tetapi jika Anda memiliki beberapa struktur data kecil yang sering Anda baca / tulis, ini membantu jika mereka adalah multiple integer atau fraksi dari garis cache (biasanya 64 byte). Ini juga membantu jika data Anda sejajar dengan ukuran garis cache. Ini secara drastis dapat mengurangi jumlah bacaan yang diperlukan untuk memuat sepotong data.
Vektorisasi : Tidak, jangan pergi mental dengan assembler kode tangan. gccmenawarkan tipe vektor yang bisa diterjemahkan ke SSE / AltiVec / instruksi apa pun secara otomatis.
Parallelism Instruksi-Level : Bajingan vektorisasi. Jika beberapa perhitungan yang sering diulang tidak menghasilkan vektor dengan baik, Anda dapat mencoba mengakumulasi nilai input dan menghitung beberapa nilai sekaligus. Ini seperti loop terbuka. Apa yang Anda eksploitasi di sini adalah bahwa CPU Anda biasanya akan memiliki lebih dari satu unit floating-point per inti.
Aritmatika presisi : Apakah Anda benar-benar membutuhkan aritmatika presisi ganda dalam semua yang Anda lakukan? Misalnya, jika Anda menghitung koreksi dalam iterasi Newton, Anda biasanya tidak memerlukan semua digit yang Anda hitung. Untuk diskusi yang lebih mendalam, lihat makalah ini .
Beberapa trik ini digunakan di utas daxpy_cvec ini . Karena itu, jika Anda menggunakan Fortran (bukan bahasa tingkat rendah dalam buku saya), Anda akan memiliki sedikit kontrol atas sebagian besar "trik" ini.
Jika Anda menjalankan beberapa perangkat keras khusus, mis. Sebuah cluster yang Anda gunakan untuk semua proses produksi Anda, Anda mungkin juga ingin membaca spesifik CPU yang digunakan. Bukannya Anda harus menulis hal-hal di assembler langsung untuk arsitektur itu, tetapi mungkin menginspirasi Anda untuk menemukan beberapa optimasi lain yang mungkin Anda lewatkan. Mengetahui fitur adalah langkah awal yang penting untuk menulis kode yang dapat mengeksploitasinya.
Memperbarui
Sudah lama sejak saya menulis ini dan saya tidak memperhatikan bahwa itu telah menjadi jawaban yang populer. Untuk alasan ini, saya ingin menambahkan satu poin penting:
Bicaralah dengan Ilmuwan Komputer lokal Anda : Bukankah lebih keren jika ada disiplin ilmu yang khusus membahas membuat algoritma dan / atau perhitungan lebih efisien / elegan / paralel, dan kita semua bisa meminta saran dari mereka? Nah, kabar baik, disiplin itu ada: Ilmu Komputer. Kemungkinannya, institusi Anda bahkan memiliki seluruh departemen yang didedikasikan untuknya. Bicaralah pada mereka.
Saya yakin dengan sejumlah Ilmuwan non-Komputer ini akan membawa kembali ingatan akan diskusi yang membuat frustrasi dengan disiplin yang tidak menghasilkan apa-apa, atau ingatan tentang anekdot orang lain. Jangan berkecil hati. Kolaborasi antardisiplin adalah hal yang rumit, dan itu membutuhkan sedikit usaha, tetapi hasilnya bisa sangat besar.
Dalam pengalaman saya, sebagai Ilmuwan Komputer (CS), triknya adalah mendapatkan harapan dan komunikasi dengan benar.
Harapannya , CS hanya akan membantu Anda jika dia menganggap masalah Anda menarik. Ini cukup banyak mengecualikan mencoba mengoptimalkan / membuat vektor / memparalelkan sepotong kode yang telah Anda tulis, tetapi tidak benar-benar berkomentar, untuk masalah yang tidak mereka mengerti. CSs biasanya lebih tertarik pada masalah yang mendasarinya, misalnya algoritma yang digunakan untuk menyelesaikannya. Jangan berikan mereka solusi Anda , beri mereka masalah Anda .
Juga, bersiaplah untuk CS untuk mengatakan " masalah ini telah dipecahkan ", dan hanya memberi Anda referensi ke makalah. Sebuah saran: Baca makalah itu dan, jika benar-benar berlaku untuk masalah Anda, terapkan algoritma apa pun yang disarankan. Ini bukan CS yang puas diri, ini CS yang hanya membantu Anda. Jangan tersinggung, ingat: Jika masalahnya tidak menarik secara komputasi, yaitu masalah itu sudah dipecahkan dan solusi terbukti optimal, mereka tidak akan bekerja di atasnya, apalagi kode itu untuk Anda.
Komunikasi -bijaksana, mengingat bahwa sebagian besar CSS tidak ahli dalam bidang Anda, dan menjelaskan masalah dalam hal apa yang Anda lakukan, sebagai lawan bagaimana dan mengapa . Kami biasanya benar-benar tidak peduli tentang alasannya , dan bagaimana , yah, yang terbaik yang kami lakukan.
Misalnya, saya saat ini bekerja dengan sekelompok Ahli Kosmologi Komputasi dalam menulis versi yang lebih baik dari kode simulasi mereka, berdasarkan SPH dan Multipoles . Butuh sekitar tiga pertemuan untuk berhenti berbicara dalam hal materi gelap dan galaksi (huh?) Dan untuk menelusuri inti perhitungan, yaitu bahwa mereka perlu menemukan semua tetangga dalam radius tertentu dari setiap partikel, menghitung beberapa kuantitas atas mereka, dan kemudian menabrak semua tetangga kata lagi dan menerapkan kuantitas itu dalam beberapa perhitungan lain. Kemudian pindahkan partikel-partikelnya, atau setidaknya beberapa di antaranya, dan lakukan semuanya lagi. Anda tahu, sementara yang pertama mungkin sangat menarik (itu!), Yang terakhir adalah apa yang perlu saya pahami untuk mulai berpikir tentang algoritma.
Tapi saya menyimpang dari poin utama: Jika Anda benar-benar tertarik untuk membuat perhitungan dengan cepat, dan Anda sendiri bukan seorang Ilmuwan Komputer, bicaralah dengan salah satunya.
— Pedro
sumber
4
sebagai alat profiling, saya tidak akan melupakan valgrind .
— GertVdE
1
Saya setuju dengan Anda Pedro, ketika program yang dioptimalkan seperti mobil balap F1, sudah mendekati optimal. Program-program yang saya lihat dalam praktik, ilmiah dan bukan, seringkali lebih seperti Cadillac Coupe DeVilles. Untuk mendapatkan kinerja nyata, banyak lemak dapat dipotong. Setelah itu, siklus-cukur mulai mencapai langkahnya.
— Mike Dunlavey
1
@MikeDunlavey: Sepenuhnya setuju. Saya telah menambahkan pembaruan ke jawaban saya untuk mengatasi masalah terkait algoritme yang lebih banyak.
— Pedro
1
@MikeDunlavey, saya orang -orang CS :)
— Pedro
2
Saya menunjukkan ini dalam sebuah ceramah di U Mass. Lowell. Itu adalah demo langsung, menunjukkan semua tahapan speedup 730x. Saya pikir seorang profesor mendapatkan intinya, dari setengah lusin.
— Mike Dunlavey
Perangkat lunak ilmiah tidak jauh berbeda dari perangkat lunak lain, sejauh cara mengetahui apa yang perlu dicari.
Metode yang saya gunakan adalah jeda acak . Berikut adalah beberapa speedup yang telah saya temukan:
Jika sebagian besar waktu dihabiskan dalam fungsi seperti logdan exp, saya bisa melihat apa argumen untuk fungsi-fungsi itu, sebagai fungsi dari titik mereka dipanggil. Seringkali mereka dipanggil berulang kali dengan argumen yang sama. Jika demikian, memoisasi menghasilkan faktor percepatan besar-besaran.
Jika saya menggunakan fungsi BLAS atau LAPACK, saya mungkin menemukan bahwa sebagian besar waktu dihabiskan dalam rutinitas untuk menyalin array, mengalikan matriks, mengubah choleski, dll.
Rutin untuk menyalin array tidak ada untuk kecepatan, itu ada untuk kenyamanan. Anda mungkin menemukan ada cara yang kurang nyaman, tetapi lebih cepat, untuk melakukannya.
Rutinitas untuk menggandakan atau membalikkan matriks, atau mengambil transformasi choleski, cenderung memiliki argumen karakter yang menentukan opsi, seperti 'U' atau 'L' untuk segitiga atas atau bawah. Sekali lagi, itu ada untuk kenyamanan. Apa yang saya temukan adalah, karena matriks saya tidak terlalu besar, rutinitas menghabiskan lebih dari setengah waktu mereka memanggil subrutin untuk membandingkan karakter hanya untuk menguraikan pilihan. Menulis versi tujuan khusus dari rutinitas matematika yang paling mahal menghasilkan percepatan besar-besaran.
Jika saya dapat memperluas yang terakhir: matrix-multiply, DGEMM rutin memanggil LSAME untuk memecahkan kode argumen karakternya. Melihat persen waktu inklusif (satu-satunya statistik yang layak dilihat) yang dianggap profiler "baik" dapat menunjukkan DGEMM menggunakan beberapa persen dari total waktu, seperti 80%, dan LSAME menggunakan beberapa persen dari total waktu, seperti 50%. Melihat yang pertama, Anda akan tergoda untuk mengatakan "baik itu harus sangat dioptimalkan, jadi tidak banyak yang bisa saya lakukan tentang itu". Melihat yang terakhir, Anda akan tergoda untuk mengatakan "Hah? Tentang apa semua itu? Itu hanya sedikit rutinitas kecil. Profiler ini pasti salah!"
Itu tidak salah, itu hanya tidak memberi tahu Anda apa yang perlu Anda ketahui. Apa jeda acak menunjukkan kepada Anda adalah bahwa DGEMM ada di 80% dari sampel tumpukan, dan LSAME pada 50%. (Anda tidak perlu banyak sampel untuk mendeteksi itu. 10 biasanya banyak.) Terlebih lagi, pada banyak sampel tersebut, DGEMM sedang dalam proses memanggil LSAME dari beberapa baris kode yang berbeda.
Jadi sekarang Anda tahu mengapa kedua rutinitas menghabiskan banyak waktu inklusif. Anda juga tahu di mana dalam kode Anda mereka dipanggil dari untuk menghabiskan waktu ini. Itu sebabnya saya menggunakan jeda acak dan mengambil tampilan profiler yang kuning, tidak peduli seberapa bagus mereka. Mereka lebih tertarik mendapatkan pengukuran daripada memberi tahu Anda apa yang terjadi.
Sangat mudah untuk mengasumsikan rutin perpustakaan matematika telah dioptimalkan ke tingkat ke-n, tetapi pada kenyataannya mereka telah dioptimalkan untuk dapat digunakan untuk berbagai keperluan. Anda perlu melihat apa yang sebenarnya terjadi, bukan apa yang mudah diasumsikan.
TAMBAH: Jadi untuk menjawab dua pertanyaan terakhir Anda:
Apa hal terpenting yang harus dicoba terlebih dahulu?
Ambil 10-20 tumpukan sampel, dan jangan hanya meringkasnya, pahami apa yang diceritakan masing-masing. Lakukan ini dulu, terakhir, dan di antara keduanya. (Tidak ada "coba", Skywalker muda.)
Bagaimana saya tahu berapa banyak kinerja yang bisa saya dapatkan?
Sampel tumpukan akan memberi Anda perkiraan yang sangat kasar berapa fraksi waktu yang akan disimpan. (Ini mengikuti distribusi , di mana adalah jumlah sampel yang menampilkan apa yang akan Anda perbaiki, dan adalah jumlah total sampel. Itu tidak menghitung biaya kode yang Anda gunakan untuk menggantinya, yang diharapkan akan menjadi kecil.) Kemudian rasio speedup adalah yang bisa jadi besar. Perhatikan bagaimana ini berlaku secara matematis. Jika , dan , rata-rata dan mode adalah 0,5, untuk rasio percepatan 2. Berikut adalah distribusinya: Jika Anda menghindari risiko, ya, ada kemungkinan kecil (0,03%) bahwaxxβ(s+1,(n−s)+1)β(s+1,(n−s)+1)ssnn1/(1−x)1/(1−x)n=10n=10s=5s=5xx
xx kurang dari 0,1, untuk speedup kurang dari 11%. Tetapi menyeimbangkan itu adalah probabilitas yang sama bahwa lebih besar dari 0,9, untuk rasio percepatan lebih dari 10! Jika Anda mendapatkan uang sebanding dengan kecepatan program, itu bukan peluang buruk.xx
Seperti yang telah saya tunjukkan kepada Anda sebelumnya, Anda dapat mengulangi seluruh prosedur sampai Anda tidak bisa lagi, dan rasio percepatan yang diperparah bisa sangat besar.
TAMBAH: Dalam menanggapi kekhawatiran Pedro tentang positif palsu, izinkan saya mencoba membuat contoh di mana hal itu mungkin terjadi. Kami tidak pernah menindaklanjuti masalah yang potensial kecuali jika kami melihatnya dua kali atau lebih, jadi kami berharap kesalahan positif terjadi ketika kami melihat masalah pada waktu sesedikit mungkin, terutama ketika jumlah total sampel besar. Misalkan kita mengambil 20 sampel dan melihatnya dua kali. Yang memperkirakan biayanya adalah 10% dari total waktu eksekusi, mode distribusinya. (Rata-rata distribusi lebih tinggi - itu adalah .) Kurva yang lebih rendah pada grafik berikut adalah distribusinya:(s+1)/(n+2)=3/22=13.6%(s+1)/(n+2)=3/22=13.6%
Pertimbangkan jika kami mengambil sebanyak 40 sampel (lebih dari yang pernah saya miliki pada satu waktu) dan hanya melihat masalah pada dua dari mereka. Perkiraan biaya (mode) dari masalah itu adalah 5%, seperti yang ditunjukkan pada kurva yang lebih tinggi.
Apa itu "false positive"? Ini adalah bahwa jika Anda memperbaiki masalah Anda menyadari keuntungan yang lebih kecil dari yang diharapkan, bahwa Anda menyesal telah memperbaikinya. Kurva menunjukkan (jika masalahnya "kecil") itu, sementara gain bisa kurang dari fraksi sampel yang menunjukkan itu, rata-rata akan lebih besar.
Ada risiko yang jauh lebih serius - "negatif palsu". Saat itulah ada masalah, tetapi tidak ditemukan. (Menyumbang pada hal ini adalah "bias konfirmasi", di mana ketiadaan bukti cenderung diperlakukan sebagai bukti ketidakhadiran.)
Apa yang Anda dapatkan dengan profiler (yang baik) adalah Anda mendapatkan pengukuran yang jauh lebih tepat (kesempatan sehingga kurang positif palsu), dengan mengorbankan banyak informasi yang kurang tepat tentang apa masalah sebenarnya adalah (sehingga kurang kesempatan untuk menemukan itu dan mendapatkan keuntungan apapun ). Itu membatasi speedup keseluruhan yang bisa dicapai.
Saya akan mendorong pengguna profiler untuk melaporkan faktor percepatan yang sebenarnya mereka dapatkan dalam praktik.
Ada hal lain yang harus dibuat kembali. Pertanyaan Pedro tentang positif palsu.
Dia menyebutkan mungkin ada kesulitan ketika turun ke masalah kecil dalam kode yang sangat optimal. (Bagi saya, masalah kecil adalah yang menyumbang 5% atau kurang dari total waktu.)
Karena sepenuhnya mungkin untuk membangun program yang sepenuhnya optimal kecuali 5%, poin ini hanya dapat diatasi secara empiris, seperti dalam jawaban ini . Untuk menggeneralisasi dari pengalaman empiris, seperti ini:
Suatu program, seperti tertulis, biasanya mengandung beberapa peluang untuk optimisasi. (Kita dapat menyebutnya "masalah" tetapi mereka sering merupakan kode yang sangat baik, hanya mampu melakukan perbaikan yang cukup besar.) Diagram ini menggambarkan program buatan yang memakan waktu lama (100-an, katakanlah), dan berisi masalah A, B, C, ... itu, ketika ditemukan dan diperbaiki, hemat 30%, 21%, dll dari 100-an asli.
Perhatikan bahwa masalah F berharga 5% dari waktu semula, sehingga "kecil", dan sulit ditemukan tanpa 40 atau lebih sampel.
Namun, 10 sampel pertama dengan mudah menemukan masalah A. ** Ketika itu diperbaiki, program hanya membutuhkan 70-an, untuk percepatan 100/70 = 1,43x. Itu tidak hanya membuat program lebih cepat, ia memperbesar, dengan rasio itu, persentase diambil oleh masalah yang tersisa. Misalnya, masalah B awalnya mengambil 21 yang merupakan 21% dari total, tetapi setelah menghapus A, B mengambil 21 dari 70-an, atau 30%, sehingga lebih mudah untuk menemukan ketika seluruh proses diulang.
Setelah proses diulang lima kali, sekarang waktu eksekusi adalah 16,8 detik, dari yang masalah F adalah 30%, bukan 5%, sehingga 10 sampel merasa mudah.
Jadi itu intinya. Secara empiris, program mengandung serangkaian masalah yang memiliki distribusi ukuran, dan setiap masalah yang ditemukan dan diperbaiki membuatnya lebih mudah untuk menemukan yang tersisa. Untuk mencapai hal ini, tidak ada masalah yang dapat dilewati karena, jika memang ada, mereka duduk di sana mengambil waktu, membatasi total speedup, dan gagal memperbesar masalah yang tersisa. Itu sebabnya sangat penting untuk menemukan masalah yang bersembunyi .
Jika masalah A sampai F ditemukan dan diperbaiki, kecepatannya adalah 100 / 11.8 = 8.5x. Jika salah satu dari mereka terlewat, misalnya D, maka percepatannya hanya 100 / (11,8 + 10.3) = 4.5x. Itulah harga yang dibayarkan untuk negatif palsu.
Jadi, ketika profiler mengatakan "sepertinya tidak ada masalah yang signifikan di sini" (yaitu pengkode yang baik, ini adalah kode yang secara praktis optimal), mungkin itu benar, dan mungkin tidak. (A false negative .) Anda tidak tahu pasti apakah ada lebih banyak masalah untuk diperbaiki, untuk percepatan yang lebih tinggi, kecuali jika Anda mencoba metode profil lain dan menemukan bahwa ada. Dalam pengalaman saya, metode pembuatan profil tidak memerlukan sejumlah besar sampel, diringkas, tetapi sejumlah kecil sampel, di mana setiap sampel dipahami cukup menyeluruh untuk mengenali setiap peluang untuk optimasi.
** Diperlukan minimal 2 klik pada masalah untuk menemukannya, kecuali seseorang memiliki pengetahuan sebelumnya bahwa ada (dekat) loop tak terbatas. (Tanda centang merah mewakili 10 sampel acak); Jumlah rata-rata sampel yang diperlukan untuk mendapatkan 2 hit atau lebih, ketika masalahnya adalah 30%, adalah ( distribusi binomial negatif ). 10 sampel menemukannya dengan probabilitas 85%, 20 sampel - 99,2% ( distribusi binomial ). Untuk mendapatkan probabilitas untuk menemukan masalah, di R, mengevaluasi , misalnya: .2/0.3=6.672/0.3=6.671 - pbinom(1, numberOfSamples, sizeOfProblem)1 - pbinom(1, 20, 0.3) = 0.9923627
TAMBAH: Fraksi waktu yang dihemat, , mengikuti distribusi Beta , di mana adalah jumlah sampel, dan adalah jumlah yang menampilkan masalah. Namun, rasio percepatan sama dengan (dengan asumsi semua disimpan), dan akan menarik untuk memahami distribusi . Ternyata mengikuti distribusi BetaPrime . Saya mensimulasikannya dengan 2 juta sampel, sampai pada perilaku ini:β ( s + 1 , ( n - s ) + 1 ) n s y 1 / ( 1 - x ) x y y - 1xxβ(s+1,(n−s)+1)β(s+1,(n−s)+1)nnssyy1/(1−x)1/(1−x)xxyyy−1y−1
         distribution of speedup
               ratio y

 s, n    5%-ile  95%-ile  mean
 2, 2    1.58    59.30   32.36
 2, 3    1.33    10.25    4.00
 2, 4    1.23     5.28    2.50
 2, 5    1.18     3.69    2.00
 2,10    1.09     1.89    1.37
 2,20    1.04     1.37    1.17
 2,40    1.02     1.17    1.08

 3, 3    1.90    78.34   42.94
 3, 4    1.52    13.10    5.00
 3, 5    1.37     6.53    3.00
 3,10    1.16     2.29    1.57
 3,20    1.07     1.49    1.24
 3,40    1.04     1.22    1.11

 4, 4    2.22    98.02   52.36
 4, 5    1.72    15.95    6.00
 4,10    1.25     2.86    1.83
 4,20    1.11     1.62    1.31
 4,40    1.05     1.26    1.14

 5, 5    2.54   117.27   64.29
 5,10    1.37     3.69    2.20
 5,20    1.15     1.78    1.40
 5,40    1.07     1.31    1.17
Dua kolom pertama memberikan interval kepercayaan 90% untuk rasio percepatan. Rasio kecepatan rata-rata sama dengan kecuali untuk kasus di mana . Dalam hal itu tidak terdefinisi dan, memang, ketika saya meningkatkan jumlah nilai simulasi , rata-rata empiris meningkat.s = n y(n+1)/(n−s)(n+1)/(n−s)s=ns=nyy
Ini adalah plot distribusi faktor percepatan, dan artinya, untuk 2 hit dari 5, 4, 3, dan 2 sampel. Misalnya, jika 3 sampel diambil, dan 2 di antaranya merupakan hit pada suatu masalah, dan masalah itu dapat dihilangkan, faktor percepatan rata-rata adalah 4x. Jika 2 hit terlihat hanya dalam 2 sampel, speedup rata-rata tidak terdefinisi - secara konseptual karena program dengan loop tak terbatas ada dengan probabilitas tidak nol!
— Mike Dunlavey
sumber
1
Uhm ... Apakah Anda tidak mendapatkan informasi persis ini dengan melihat grafik panggilan profiler atau ringkasan tipe "bottom-up" seperti yang disediakan oleh VTune?
— Pedro
2
@Pedro: Jika Saja. Dalam sampel tumpukan (& variabel terkait) dikodekan seluruh alasan kenaikan waktu yang dihabiskan. Anda tidak dapat menyingkirkannya kecuali Anda tahu mengapa itu dihabiskan. Beberapa masalah dapat ditemukan dengan informasi yang terbatas, tetapi tidak semua . Jika Anda hanya mendapatkan beberapa dari mereka, tetapi tidak semuanya, maka masalah yang tidak Anda dapatkan akhirnya menghalangi Anda dari speedup lebih lanjut. Periksa di sini dan di sini .
— Mike Dunlavey
Dapat diperdebatkan, Anda membandingkan metode Anda dengan profil buruk ... Anda juga dapat menelusuri profil untuk setiap rutin, terlepas dari kontribusinya terhadap total waktu eksekusi, dan mencari peningkatan, dengan efek yang sama. Apa yang saya khawatirkan dalam pendekatan Anda adalah meningkatnya jumlah positif palsu yang akhirnya akan Anda ikuti saat "hotspot" dalam kode Anda semakin kecil.
— Pedro
@Pedro: Terus ambil sampel sampai Anda melihat sesuatu yang dapat Anda perbaiki pada lebih dari satu sampel. Beta distr memberi tahu berapa banyak yang bisa dihemat, jika Anda peduli, tetapi jika Anda takut mendapatkan kecepatan yang lebih rendah daripada yang diperlihatkan, perhatikan bahwa Anda membuang peluang bahwa itu juga bisa menjadi lebih (dan condong ke kanan ). Bahaya yang lebih besar, dengan meringkas profiler, adalah negatif palsu . Mungkin ada masalah, tetapi Anda hanya berharap intuisi Anda akan mengendusnya ketika profiler tidak terlalu spesifik tentang di mana itu bisa terjadi.
— Mike Dunlavey
@Pedro: Satu-satunya kelemahan yang saya tahu adalah kapan, melihat waktu snapshot, Anda tidak tahu mengapa waktu itu dihabiskan, seperti jika itu hanya memproses peristiwa yang tidak sinkron di mana pemohon bersembunyi, atau protokol yang tidak sinkron. Untuk kode "normal" yang lebih banyak, perlihatkan profiler yang "baik" dan saya akan menunjukkan kepada Anda masalah yang bermasalah atau tidak dapat Anda temukan (membuat Anda kembali pada kecerdasan keliru Anda). Secara umum cara untuk membangun masalah seperti itu adalah untuk memastikan bahwa tujuan yang dilayani tidak dapat diuraikan secara lokal. Dan masalah seperti itu berlimpah dalam perangkat lunak.
— Mike Dunlavey
Anda tidak hanya harus memiliki pengetahuan yang mendalam tentang kompiler Anda, Anda juga memiliki pengetahuan yang mendalam tentang arsitektur target dan sistem operasi Anda .
Apa yang dapat memengaruhi kinerja?
Jika Anda ingin memeras setiap ons kinerja terakhir, maka setiap kali Anda mengubah arsitektur target Anda, Anda harus mengubah dan mengoptimalkan ulang kode Anda. Sesuatu yang merupakan optimasi dengan satu CPU dapat menjadi kurang optimal dalam revisi berikutnya dari CPU yang sama.
Contoh yang sangat baik dari ini adalah cache CPU. Pindahkan program Anda dari CPU dengan cache cepat kecil ke cache dengan cache sedikit lebih lambat, sedikit lebih besar dan profil Anda dapat berubah secara signifikan.
Bahkan jika arsitektur target tidak berubah, perubahan level rendah ke sistem operasi juga dapat mempengaruhi kinerja. Patch mitigasi Spectre dan Meltdown memiliki dampak besar pada beberapa beban kerja, jadi ini mungkin memaksa evaluasi ulang optimisasi Anda.
Bagaimana saya bisa menjaga kode saya dioptimalkan?
Ketika mengembangkan kode yang sangat dioptimalkan, Anda harus tetap modular dan membuatnya mudah untuk menukar versi berbeda dari algoritma yang sama masuk dan keluar, bahkan mungkin memilih versi spesifik yang digunakan pada saat run time, tergantung pada sumber daya yang tersedia dan ukuran / kompleksitas dari data yang akan diproses.
Modularitas juga berarti dapat menggunakan test suite yang sama pada semua versi Anda yang dioptimalkan dan tidak dioptimalkan, memungkinkan Anda untuk memverifikasi bahwa mereka semua berperilaku yang sama dan profil masing-masing dengan cepat dalam perbandingan suka-untuk-suka . Saya masuk ke sedikit lebih detail dalam jawaban saya untuk Bagaimana mendokumentasikan dan mengajar orang lain "dioptimalkan di luar pengakuan" kode komputasi intensif? .
Bacaan lebih lanjut
Selain itu, saya akan sangat menyarankan mengambil melihat kertas Ulrich Drepper ini sangat baik Apa Setiap Programmer Harus Anda Ketahui Tentang Memory , yang judulnya adalah penghormatan kepada David Goldberg sama fantastis Apa Setiap Komputer Scientist Harus Anda Ketahui Tentang Floating-Point Arithmetic .
Ingat setiap optimasi memiliki potensi untuk menjadi anti-optimisasi di masa depan , jadi harus dianggap sebagai kemungkinan bau kode, untuk dijaga agar tetap minimum. Jawaban saya untuk Apakah optimasi mikro penting ketika coding? memberikan contoh nyata dari pengalaman pribadi ini.
— Mark Booth
sumber
Saya pikir Anda mengucapkan pertanyaan itu terlalu sempit. Dalam pandangan saya, sikap yang berguna adalah hidup dengan asumsi bahwa hanya perubahan pada struktur data dan algoritma yang dapat menghasilkan keuntungan kinerja yang signifikan pada kode yang lebih dari 100 baris, dan saya percaya bahwa saya belum menemukan contoh tandingan untuk klaim ini.
— Wolfgang Bangerth
sumber
3
Pada prinsipnya sependapat, tetapi orang tidak boleh meremehkan interaksi antara kinerja suatu algoritma / struktur data dan perincian perangkat keras yang mendasarinya. Misalnya pohon biner seimbang sangat bagus untuk mencari / menyimpan data, tetapi tergantung pada latensi memori global, tabel hash mungkin lebih baik.
— Pedro
1
Sepakat. Algoritma dan struktur data dapat memberikan peningkatan O (10) hingga O (100). Namun, untuk beberapa masalah yang dibatasi komputasi (seperti dalam perhitungan dinamika molekul, astrofisika, pemrosesan gambar dan video real-time, keuangan) loop kritis yang sangat disetel dapat berarti 3x hingga 10x keseluruhan runtime aplikasi lebih cepat.
— fcruz
Saya telah melihat loop bersarang dalam kode "produksi" dengan ukuran besar. Selain itu saya pikir Anda benar.
— dmckee
Hal pertama yang harus Anda lakukan adalah membuat profil kode Anda. Anda ingin mengetahui bagian mana dari program Anda yang memperlambat Anda sebelum Anda mulai mengoptimalkan, jika tidak, Anda akhirnya dapat mengoptimalkan bagian dari kode Anda yang tidak memakan banyak waktu eksekusi.
Linux
gprof cukup bagus, tetapi hanya memberi tahu Anda berapa banyak waktu yang diambil oleh masing-masing fungsi daripada setiap baris.
Apple OS X
Anda mungkin ingin mencoba Shark . Ini tersedia di situs Pengembang Apple di bawah Unduhan> Alat Pengembang> CHUD 4.6.2, versi yang lebih lama di sini . CHUD juga berisi alat profil lain seperti BigTop frontend, alat pencarian Indeks PMC, profiler fungsi level Saturnus dan banyak perintah lainnya. Shark akan datang dengan versi commandline.
— Dan
sumber
+1 Profil? Ya, dengan cara ... Ini jauh lebih baik daripada menebak, tetapi di sini ada daftar masalah yang berlaku terutama untuk gprof, dan banyak profiler lainnya.
— Mike Dunlavey
Apakah Shark adalah perintah lama di OS X? Lebih lanjut di sini . Dengan Mountain Lion, haruskah saya menggunakan Instrumen?
— hhh
@ hhh: Itu adalah profiler GUI untuk mac, meskipun sepertinya tidak dipertahankan lagi. Saya belum memprogram pada mesin apel sejak saya menulis jawaban ini, jadi saya tidak bisa banyak membantu Anda.
— Dan
1
Ini tersedia di situs Pengembang Apple di bawah Unduhan> Alat Pengembang> CHUD 4.6.2. Versi lama di sini dan berisi semua jenis profiling - sayangnya instalasi ini tidak berhasil: "Hubungi pabrikan", tidak tahu tentang bug. Shark dikeluarkan dari Xcode rupanya setelah Lion dan kemudian dimasukkan kembali ke situs Apple Dev setelah menjadi alat gratis di MacUpdate.
— hhh
@ hhh: Anda tampaknya lebih memenuhi syarat untuk menjawab ini daripada saya. Jangan ragu untuk mengedit jawaban saya untuk memperbaruinya, atau menulis jawaban Anda sendiri.
— Dan
Adapun berapa banyak kinerja yang bisa Anda peroleh, ambil hasil dari profiling kode Anda dan katakanlah Anda mengidentifikasi bagian yang membutuhkan sebagian kecil waktu. Jika Anda ingin meningkatkan kinerja karya itu hanya dengan faktor "s", speedup keseluruhan Anda akan menjadi 1 / ((1-p) + p / s). Karena itu Anda dapat secara maksimal meningkatkan kecepatan Anda dengan faktor 1 / (1-p). Semoga Anda memiliki area p tinggi! Ini setara dengan Hukum Amdahl untuk optimasi serial.
— tukang
sumber
Mengoptimalkan kode Anda harus dilakukan dengan hati-hati. Mari kita asumsikan Anda sudah mendebug kode tersebut. Anda dapat menghemat banyak waktu jika mengikuti prioritas tertentu, yaitu:
Gunakan perpustakaan yang sangat dioptimalkan (atau dioptimalkan secara profesional) jika memungkinkan. Beberapa contoh mungkin termasuk FFTW, OpenBlas, Intel MKL, perpustakaan NAG, dll. Kecuali Anda sangat berbakat (seperti pengembang GotoBLAS), Anda mungkin tidak bisa mengalahkan para profesional.
Gunakan profiler (beberapa di daftar berikut telah diberi nama di utas ini - Intel Tune, valgrind, gprof, gcov, dll.) Untuk mengetahui bagian mana dari kode Anda yang paling memakan waktu. Tidak ada gunanya membuang waktu mengoptimalkan bagian-bagian kode yang jarang dipanggil.
Dari hasil profiler, lihat bagian dari kode Anda yang paling lama. Tentukan apa sifat algoritme Anda - apakah terikat CPU atau terikat memori? Masing-masing membutuhkan serangkaian teknik optimisasi yang berbeda. Jika Anda mendapatkan banyak cache yang hilang, memori mungkin menjadi penghambat - CPU membuang-buang siklus menunggu memori tersedia. Pikirkan apakah loop cocok dengan cache L1 / L2 / L3 dari sistem Anda. Jika Anda memiliki pernyataan "jika" di loop Anda, periksa apakah profiler mengatakan sesuatu tentang salah prediksi cabang? Apa hukuman salah duga cabang dari sistem Anda? Omong-omong, Anda bisa mendapatkan data salah prediksi cabang dari Manual Referensi Pengoptimalan Intel [1]. Perhatikan bahwa penalti misprediksi cabang adalah khusus untuk prosesor, seperti yang akan Anda lihat dalam manual Intel.
Terakhir, atasi masalah yang diidentifikasi oleh profiler. Sejumlah teknik telah dibahas di sini. Sejumlah sumber daya yang baik, andal, dan komprehensif tentang pengoptimalan juga tersedia. Untuk menyebutkan hanya dua, ada Manual Referensi Optimasi Intel [1], dan lima manual optimasi oleh Agner Fog [2]. Perhatikan bahwa ada beberapa hal yang mungkin tidak perlu Anda lakukan, jika kompiler sudah melakukannya - misalnya, loop membuka gulungan, menyelaraskan memori, dll. Baca dokumentasi kompiler Anda dengan cermat.
Referensi:
[1] Manual Referensi Optimasi Arsitektur Intel 64 dan IA-32: http://www.intel.sg/content/dam/doc/manual/64-ia-32-architectures-optimization-manual.pdf
[2] Agner Fog, "Sumber Daya Optimalisasi Perangkat Lunak": http://www.agner.org/optimize/
"Mengoptimalkan perangkat lunak dalam C ++: Panduan pengoptimalan untuk platform Windows, Linux dan Mac"
"Mengoptimalkan subrutin dalam bahasa assembly: Panduan pengoptimalan untuk platform x86"
"Mikroarsitektur Intel, AMD dan VIA CPU: Panduan pengoptimalan untuk programmer perakitan dan pembuat kompiler"
"Tabel instruksi: Daftar latensi instruksi, throughput, dan gangguan operasi mikro untuk CPU Intel, AMD, dan VIA"
"Konvensi panggilan untuk berbagai kompiler C ++ dan sistem operasi"
— nathanielng
sumber
Saya bukan ilmuwan komputasi seperti banyak orang lain di sini (jadi saya bisa salah :)) tetapi hari ini ada sedikit gunanya menghabiskan terlalu banyak waktu pada kinerja serial selama kita menggunakan lib standar. Mungkin lebih bermanfaat untuk menghabiskan waktu / upaya tambahan untuk membuat kode lebih terukur.
Bagaimanapun, berikut adalah dua contoh (jika Anda belum membacanya) tentang bagaimana kinerja ditingkatkan (untuk masalah FE yang tidak terstruktur).
Serial : Lihat paruh kedua teks abstrak dan terkait.
Paralel : Khususnya fase inisialisasi, dalam bagian 4.2.
— stali
sumber
Ini mungkin lebih merupakan jawaban meta daripada jawaban ...
Anda harus mengembangkan keakraban akrab dengan kompiler Anda. Anda dapat memperoleh ini dengan paling efisien dengan membaca manual dan bereksperimen dengan berbagai opsi.
Banyak saran bagus yang dikeluarkan @Pedro dapat diimplementasikan dengan menyesuaikan kompilasi daripada program.
— Tanda Kinerja Tinggi
sumber
Saya tidak setuju dengan poin terakhir. Mengetahui apa yang dapat dilakukan oleh kompiler Anda adalah satu hal, tetapi menulis kode Anda sehingga kompiler Anda benar-benar dapat melakukan sesuatu dengannya adalah masalah yang sama sekali berbeda. Tidak ada flag compiler yang akan mengurutkan data Anda untuk Anda, menggunakan presisi yang lebih rendah saat diperlukan atau menulis ulang loop terdalam Anda sehingga hanya memiliki sedikit atau tidak ada cabang. Mengetahui kompiler Anda adalah hal yang baik, tetapi itu hanya akan membantu Anda menulis kode yang lebih baik, itu tidak akan membuat kode Anda lebih baik.
— Pedro
Cara mudah dari profil program (di Linux) adalah dengan menggunakan perfdi statmodus. Cara paling sederhana adalah menjalankannya seperti
perf stat ./my_program args ...
dan itu akan memberi Anda banyak statistik kinerja yang berguna:
Performance counter stats for './simd_test1':

     3884.559489 task-clock                #    1.000 CPUs utilized
              18 context-switches          #    0.005 K/sec
               0 cpu-migrations            #    0.000 K/sec
             383 page-faults               #    0.099 K/sec
  10,911,904,779 cycles                    #    2.809 GHz
 <not supported> stalled-cycles-frontend
 <not supported> stalled-cycles-backend
  14,346,983,161 instructions              #    1.31  insns per cycle
   2,143,017,630 branches                  #  551.676 M/sec
          28,892 branch-misses             #    0.00% of all branches

     3.885986246 seconds time elapsed
Terkadang ia juga akan membuat daftar D-cache memuat dan ketinggalan. Jika Anda melihat banyak cache yang hilang, maka program Anda intensif memori dan tidak memperlakukan cache dengan baik. Saat ini, CPU semakin cepat dari bandwidth memori, dan biasanya masalahnya selalu mengakses memori.
Anda juga dapat mencoba perf record ./my_program; perf reportyang merupakan cara mudah untuk profil. Baca halaman manual untuk mempelajari lebih lanjut.
— Mark Lakata
sumber
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.

warc-identified-content-language: ind

label: ms


content:
Idn Play Poker akan memberikan beberapa situs pilihan dari grup pokerv yang ditandai sebagai agen aman dan terpercaya menurut versi kami..
pkv24jam
Situs sakongkiu terpercaya dengan sistem bonus tanpa ribet
November 29, 2020 November 17, 2020
Situs sakongkiu merupakan yang pertama menghadirkan permainan pkv games online ditanah air untuk menjawab kebutuhan demam bermain Texas Hold’em di Facebook pada saat itu. Kita ketahui bersama kalau permainan diplatform sosial media tersebut memiliki pelayanan yang buruk, dimana dengan sepihak banyak menutup akun – akun tanpa alasan yang jelas.
foto : logo sakongkiu
Tindakan tidak fair tersebut menjadi salah satu alasan kenapa sakongkiu didirikan. Kami memiliki visi untuk memberikan pelayanan yang baik disetiap sisi layanan yang kami tawarkan big bos sesungguhnya di adalah user kami. Buktinya adalah situs ini sendiri dimana kami sudah berhasil memanage sebagai situs terpercaya kurang lebih 4 tahun dengan rekam jejak yang jelas dan terhindar dari kasus penipuan dan tidak menyenangkan lainnya yang sering ditemukan disitus lain. Kami menyambut baik semua user baik itu user baru / pemula atau user yang sudah pernah bermain game serupa di agen lain. Pelayanan totalitas tanpa pandang bulu dan melihat nilai transaksi user tersebut. Daftar sakongkiu sekarang dan semua pelayanan kami termasuk didalamnya layanan perbankan 24 jam setiap harinya dari semua bank lokal dinusantara.
Download dan Install Aplikasi sakongkiu Apk
Kabar baik untuk semua user sakongkiu karena permainan kami sudah dapat langsung dimainkan tanpa harus ribet donwload dan install aplikasi seperti game online pada umumnya. Dengan bermodalkan sebuah peramban web penjelajah doang, semua user kami sudah dapat login dan bermain game favorit mereka. Semua kemudahan ini kami berikan sebagai bentuk dedikasi pelayanan kami terhadap user kami.
Kamu juga menyediakan banyak Link Alternatif Daftar sakongkiu untuk mempermudah akses kesitus dan permainan kami, khususnya untuk para user yang berada didaerah dengan kondisi internet yang lambat seperti dipelosok.Link alternatif sakongkiu juga dipercaya dapat memberikan hoki / keberuntungan didalam game terutama bagi user kami yang sangat suka dengan hal berbau mitos.
foto : banner sakongkiu
Agen judi sakongkiu menyediakan dua pilihan bonus untuk dua tipe user disini. Pertama, bonus perputaran / turnover atau dikenal dengan nama rollingan sebesar 0.3% bisa didapatkan secara cuma – Cuma dengan satu syarat saja, yaitu akun tersebut aktif bermain selama periode perhitungan bonus berjalan. Kedua bonus referensi sebesar 20% kami diberikan secara cuma – cuma untuk para user kita yang mau mengajak teman, rekan dan sahabatnya untuk meramaikan dan bermain di website sakongkiu.
Sistem kemananan sakongkiu setara game online Internasional
Akun user sakongkiu adalah segalanya. Kepercayaan user sakongkiu juga kami jaga lewat akun game online mereka, selain dijaga sendiri oleh user dari sisi server telah memberikan fitur double password dan pertanyaan rahasia, operator kami juga secara aktif akan menjaga keamanan akun user tanpa sembarangan mereset akun tanpa alasan yang jelas. Biarkan kami menjaga akun anda sehingga anda bisa fokus kedalam permainan dan menang.
Tagged bonus sakongkiu, daftar ID PRO sakongkiu, daftar sakongkiu, download aplikasi sakongkiu, link alternatif sakongkiu, login sakongkiu, mobile sakongkiu, pkv games sakongkiu, poker online sakongkiu, sakongkiu, sakongkiu apk, sakongkiu pkv, situs judi sakongkiu


content:
Artinya, seorang warga Yogyakarta yang memperoleh gaji setara UMP dan pengeluaran per bulannya sebesar Rp 1,4 juta, hanya memiliki sisa uang sangat sedikit, yaitu 26% dari total penghasilannya.
Setelah Yogyakarta, pengeluaran bulanan terbesar kedua adalah warga Jawa Barat. Di tahun 2021, Jawa Barat tidak mengalami kenaikan UMP. Dari segi ranking besaran UMP, Jawa Barat menduduki posisi ke-4 dari bawah.
Dengan UMP sebesar Rp 1.868.777, pengeluaran rata-rata sebulan di provinsi tersebut mencapai Rp 1.324.960 atau 70.9% dari UMP.
Baca juga: 5 Gubernur Abaikan Surat Edaran UMP 2021, Menaker Buka Suara
Besaran pengeluaran dan UMP 2021 Jakarta tertinggi, tapi nilai rasio masih wajar. Meski Gubernur Anies Baswedan menetapkan bahwa kenaikan UMP 2021 hanya diberlakukan bagi sektor usaha yang tak terdampak pandemi COVID-19, UMP DKI Jakarta 2021 tetap menjadi yang terbesar.
Dengan perhitungan UMP sebesar Rp 4.276.349 dan jumlah pengeluaran rata-rata per kapita sebesar Rp 2.257.991 di Maret 2020, maka nilai rasio pengeluaran rata-rata per kapita Berbanding UMP 2021 Jakarta adalah 52,80%. Meski di atas 50%, namun besaran ini masih terbilang wajar.
Apabila seorang warga Jakarta memiliki penghasilan per bulan setara UMP dan pengeluaran konsumsi bulanan rutin Rp 2,2 juta maka masih ada sisa dana sebesar 47% dari total penghasilan bulanan untuk berbagai keperluan lainnya.
Pengeluaran warga Sulawesi Selatan terbilang kecil. Dengan besaran UMP senilai Rp 3.165.876 dan pengeluaran bulanan rata-rata Rp 1.057.864, rasio pengeluaran warga Sulsel adalah 36,6% dari pendapatan bulanan.
Baca juga: Pengusaha Wanti-wanti Ancaman PHK ke Gubernur yang Naikkan Upah
Selain Sulsel, terdapat tiga provinsi lain yang dinyatakan memiliki nilai rasio pengeluaran rata-rata per kapita berbanding UMP 2021 di bawah 35%. Mereka adalah, Sumatera Selatan (33,59%), Aceh (34,13%), dan Sulawesi Barat (34,76%).
Semakin kecil pengeluaran yang ditujukan untuk konsumsi, maka makin besar pula potensi surplus arus kas bersih (pemasukan - pengeluaran) yang didapat setiap bulan. Artinya, semakin besar pula potensi untuk bisa menabung atau berinvestasi untuk tujuan jangka pendek, menengah, dan panjang.
Namun, sebelum berinvestasi, seorang harus terlebih dulu memprioritaskan ketersediaan dana darurat minimal 6 kali pengeluaran bulanan, dan mengalokasikan dana untuk kebutuhan proteksi dengan memiliki asuransi.


content: Kami menggunakan teknologi terbaru dan terbaik yang ada untuk memberikan pengalaman web terbaik yang mungkin.


content: Kami senang memvideokan apa yang kami bisa. Jangan subscribe supaya video kami tidak ada iklannya. Terima kasih banyak.

warc-identified-content-language: eng,ind