Julia不同資料型別函式的內部程式碼比較
2個getg函式,一個未宣告引數型別.
julia> function getg(m) s=Int64(1); t=1; i=Int64(2); while t>0 t=(s*10+1)%m i+=1; s=t; end i end getg (generic function with 1 method) julia> @time getg(10^8+7) 2.033192 seconds (100.00 M allocations: 1.490 GB, 11.13% gc time) 100000007 julia> @time getg(10^9+7) 20.931664 seconds (1000.00 M allocations: 14.901 GB, 11.95% gc time) 1000000007 julia> code_native(getg,(Any,))
一個引數型別為Int64
julia> function getg(m::Int64) s=Int64(1); t=Int64(1); i=Int64(2); while t>0 t=(s*10+1)%m i+=1; s=t; end i end getg (generic function with 2 methods) julia> @time getg(Int64(10)^8+7) 1.290397 seconds (6.87 k allocations: 140.112 KB) 100000007 julia> @time getg(Int64(10)^9+7) 12.711004 seconds (7 allocations: 208 bytes) 1000000007 julia> code_native(getg,(Int64,))
沒指定型別的函式,原始碼2、3、5行有很多內容,執行消耗記憶體很多。指定的型別的函式都沒有2、3、5行的內容,消耗的記憶體也很少,速度快了1倍。
相關文章
- 不同資料型別與零值比較的if從句資料型別
- C++程式中不同函式呼叫方式的彙編碼比較C++函式
- Python的內建比較函式cmp比較原理剖析Python函式
- Oracle三種集合資料型別的比較Oracle資料型別
- Oracle的 資料型別比較及注意事項Oracle資料型別
- XML Schema和XML DTD的資料型別比較XML資料型別
- 關於 PHP 不同資料型別在比較時該如何轉化問題PHP資料型別
- Python有哪些比較重要的內建函式?Python函式
- C與C++在函式和資料的比較C++函式
- string型別資料的find函式型別函式
- ORACLE DATE和TIMESTAMP資料型別的比較(一) (轉)Oracle資料型別
- ORACLE DATE和TIMESTAMP資料型別的比較(二) (轉)Oracle資料型別
- 【開發篇sql】 條件和表示式(二) 資料型別的比較規則SQL資料型別
- 不同資料型別在程式中的表現形式資料型別
- php型別比較表PHP型別
- Java Integer型別比較Java型別
- PHP基礎-資料型別-string和int比較PHP資料型別
- Oracle date 型別比較和String比較Oracle型別
- java 方法修改主函式裡基本資料型別和引用資料型別的區別Java函式資料型別
- Redis字串型別內部編碼剖析Redis字串型別
- oracle中dump函式及oracle NUMBER型別內部儲存機制Oracle函式型別
- java double、float型別的比較Java型別
- C與I型別的比較型別
- sqlite 資料庫 支援的資料型別 以及常用的函式SQLite資料庫資料型別函式
- 資料型別與函式索引-PostgreSQL篇資料型別函式索引SQL
- 資料型別與函式索引-MySQL篇資料型別函式索引MySql
- 資料型別與函式索引-Oracle篇資料型別函式索引Oracle
- sql server 資料型別轉換函式SQLServer資料型別函式
- Sql Server 資料型別 轉換 函式SQLServer資料型別函式
- Sql Server資料型別轉換函式SQLServer資料型別函式
- 幾個分析函式的比較函式
- 物件導向與函式程式設計的比較物件函式程式設計
- java 建構函式內部的多型方法 完全剖析Java函式多型
- mysql字元型別varchar()比較MySql字元型別
- C# 物件比較(值型別、引用型別)C#物件型別
- 列表、enumerate()函式,以及檢視資料型別所有的內建方法函式資料型別
- 好程式設計師大資料學習路線hive內部函式程式設計師大資料Hive函式
- 如何比較兩個資料庫表結構的不同資料庫