Профилировщик/Анализатор для Erlang?

Самый простой способ - обозначить тип блока как @objc_block, и теперь вы можете применить его к AnyObject, сравнимому с ===. Пример:

    typealias Ftype = @objc_block (s:String) -> ()

    let f : Ftype = {
        ss in
        println(ss)
    }
    let ff : Ftype = {
        sss in
        println(sss)
    }
    let obj1 = unsafeBitCast(f, AnyObject.self)
    let obj2 = unsafeBitCast(ff, AnyObject.self)
    let obj3 = unsafeBitCast(f, AnyObject.self)

    println(obj1 === obj2) // false
    println(obj1 === obj3) // true
15
задан S.Lott 4 November 2008 в 02:42
поделиться

2 ответа

Для статического анализа кода Вы имеете XREF и DIALYZER, для профилирования Вас может использовать cprof, fprof или eprof, можно получить хорошую ссылку здесь ...

11
ответ дан 30 November 2019 в 22:31
поделиться

'fprof' модуль включает профильные функции. От fprof документация модуля :

fprof:apply(foo, create_file_slow, [junk, 1024]).
fprof:profile().
fprof:analyse().

fprof:apply (или trace) выполняет функцию, profile преобразовывает файл трассировки во что-то полезное, и analyse распечатывает сводку. Это даст Вам список наблюдаемых вызовов функции, что назвало их, и что они назвали, а также тактовая стеной информация о синхронизации

6
ответ дан 30 November 2019 в 22:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: