[Agda] profiling
mechvel at scico.botik.ru
mechvel at scico.botik.ru
Wed Feb 3 10:51:09 CET 2021
On 2021-02-01 10:42, Ulf Norell wrote:
> You pass `--enable-library-profiling` to `cabal`. To make libraries
> install with profiling
> by default you can add `library-profiling: True` to `~/.cabal/config`.
>
> There are some issues with the new way cabal works and compiling Agda
> programs
> (see https://github.com/agda/agda/issues/4627), so I would try
>
> cabal v1-install ieee754 --enable-library-profiling
I have a library Foo of many .agda modules,
and have a certain KTest.agda that is in Foo, depends on a lot of
modules of Foo.
I compile and run KTest by
> agda -c $agdaLibOpt KTest.agda
> ./KTest
I never used a *.cabal file to type-check and compile my Foo library.
The above `> agda' command does everything.
Can people explain: why does one need cabal for this?
Further, I need to `make' KTest and run it with profiling.
And probably you say that for this it is not sufficient to run the
command
> agda -c <flags> KTest.agda
Right?
You say that it is needed
a) to create a certain foo.cabal,
b) to add to foo.cabal `--enable-library-profiling'
(somewhere to the compilation flags section),
c) to run
> cabal install
in the folder where foo.cabal resides.
Do you?
If so, then can you, please, advise, how does this foo.cabal need to
look?
Thanks,
--
SM
> On Sun, Jan 31, 2021 at 10:23 PM <mechvel at scico.botik.ru> wrote:
>
>> On 2021-01-29 09:05, Ulf Norell wrote:
>>> Hi Sergei,
>>>
>>> Agda compiles via Haskell so you can use all the Haskell profiling
>>> tools on the code generated by Agda.
>>
>> I tried
>>> agda -c $agdaLibOpt --ghc-flag=-prof Foo.agda
>>
>> , where "-prof" is a flag for compiling with profiling by ghc
>> (8.8.3).
>> It reports
>>
>> Compiling MAlonzo.RTE ( MAlonzo/RTE.hs, MAlonzo/RTE.o )
>> ...
>> MAlonzo/RTE.hs:9:1: error:
>> Could not find module ‘Numeric.IEEE’
>> Perhaps you haven't installed the profiling libraries for
>> package
>> ‘ieee754-0.8.0’?
>>
>> Need I to download the package ieee754-0.8.0.tar.gz for Haskell
>> and
>> somehow
>> `make' it with profiling?
>> There are the files ieee754.cabal and Setup.lhs.
>> Need I to do
>>> cabal install
>> ?
>> How to specify "with profiling"?
>> May be to set somewhere to Setup.lhs "-enable-library-profiling" ?
>>
>> (it may occur hundreds of packages that may need to rebuild with
>> profiling - ?).
>>
>> Thanks,
>>
>> ------
>> Sergei
More information about the Agda
mailing list