mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
updates
git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@5028 57a11ea4-9604-0410-9ed3-97b8803252fd
This commit is contained in:
parent
9a1f390cd6
commit
fdb9360217
7
src/optional/swig/examples/README
Normal file
7
src/optional/swig/examples/README
Normal file
@ -0,0 +1,7 @@
|
||||
|
||||
scan-acct.pl:
|
||||
basic perl demo: opens a book, prints top-level account
|
||||
balances.
|
||||
|
||||
time-book-load.pl
|
||||
measure the time it takes to open a gnucash file/url
|
@ -2,17 +2,16 @@
|
||||
|
||||
# gnucash perl demo:
|
||||
#
|
||||
# This file demonstrates how to open an acount file and print
|
||||
# This file demonstrates how to open a gnucash file/url and print
|
||||
# the names and balances of the top-level accounts in the file.
|
||||
# Its a pretty basic demo.
|
||||
# it also prints timing info, handing for performance measurement.
|
||||
#
|
||||
# use lib '/usr/lib/gnucash/';
|
||||
use lib '..';
|
||||
use gnucash;
|
||||
package gnucash;
|
||||
|
||||
die "Usage: $0 <filename>" if $#ARGV < 0;
|
||||
die "Usage: $0 <gnucash filename or url>" if $#ARGV < 0;
|
||||
print "Will load $ARGV[0]\n";
|
||||
|
||||
gnucash::gnc_engine_init(0, $ARGV);
|
||||
@ -25,15 +24,9 @@ if ($rc != 1)
|
||||
print "Could not find $ARGV[0], errrocode=$err\n";
|
||||
}
|
||||
|
||||
$secs = time;
|
||||
|
||||
$rc = gnucash::gnc_book_load ($session);
|
||||
die "Could not load $ARGV[0]\n" if $rc != 1;
|
||||
|
||||
($user,$sys,$cuser,$csys) = times;
|
||||
$elapsed = time() - $secs;
|
||||
print "time to load: user-cpu=$user sys-cpu=$sys elapsed(rounded to sec)=$elapsed\n";
|
||||
|
||||
$grp = gnucash::gnc_book_get_group ($session);
|
||||
$numacc = gnucash::xaccGroupGetNumAccounts ($grp);
|
||||
print "Loaded $numacc accounts\n\n";
|
||||
@ -46,16 +39,6 @@ for ($i=0; $i<$numacc; $i++) {
|
||||
print "\tAccount: $acctname \tBalance: $baln\n";
|
||||
}
|
||||
|
||||
$fsecs = time;
|
||||
($user,$sys,$cuser,$csys) = times;
|
||||
|
||||
gnucash::gnc_book_end ($session);
|
||||
|
||||
($fuser,$fsys,$cuser,$csys) = times;
|
||||
$elapsed = time() - $secs;
|
||||
print "time to finish: user-cpu=$fuser sys-cpu=$fsys elapsed(rounded to sec)=$elapsed\n";
|
||||
$fuser -= $user;
|
||||
$fsys -= $sys;
|
||||
$elapsed = time() - $fsecs;
|
||||
print "delta time to finish: user-cpu=$fuser sys-cpu=$fsys elapsed(rounded to sec)=$elapsed\n";
|
||||
|
||||
|
60
src/optional/swig/examples/time-book-load.pl
Executable file
60
src/optional/swig/examples/time-book-load.pl
Executable file
@ -0,0 +1,60 @@
|
||||
#!/usr/bin/perl -w
|
||||
#
|
||||
# This utility times how long it takes to open an acount file/url.
|
||||
# Handy for performance measurement.
|
||||
#
|
||||
# Copyright (c) 2001 Linas Vepstas
|
||||
# GPL license. see COPYING.
|
||||
#
|
||||
# use lib '/usr/lib/gnucash/';
|
||||
use lib '..';
|
||||
use gnucash;
|
||||
package gnucash;
|
||||
|
||||
die "Usage: $0 <filename>" if $#ARGV < 0;
|
||||
print "Will load $ARGV[0]\n";
|
||||
|
||||
gnucash::gnc_engine_init(0, $ARGV);
|
||||
$session = gnucash::gnc_book_new ();
|
||||
|
||||
$rc = gnucash::gnc_book_begin ($session, $ARGV[0], 1, 0);
|
||||
if ($rc != 1)
|
||||
{
|
||||
$err = gnucash::gnc_book_get_error ($session);
|
||||
print "Could not find $ARGV[0], errrocode=$err\n";
|
||||
}
|
||||
|
||||
$secs = time;
|
||||
|
||||
$rc = gnucash::gnc_book_load ($session);
|
||||
die "Could not load $ARGV[0]\n" if $rc != 1;
|
||||
|
||||
($user,$sys,$cuser,$csys) = times;
|
||||
$elapsed = time() - $secs;
|
||||
print "time to load: user-cpu=$user sys-cpu=$sys elapsed(rounded to sec)=$elapsed\n";
|
||||
|
||||
$grp = gnucash::gnc_book_get_group ($session);
|
||||
$numacc = gnucash::xaccGroupGetNumAccounts ($grp);
|
||||
print "Loaded $numacc accounts\n\n";
|
||||
|
||||
for ($i=0; $i<$numacc; $i++) {
|
||||
$acct = gnucash::xaccGroupGetAccount ($grp, $i);
|
||||
$acctname = gnucash::xaccAccountGetName ($acct);
|
||||
$numeric_baln = gnucash::xaccAccountGetBalance ($acct);
|
||||
$baln = gnucash::gnc_numeric_to_double ($numeric_baln);
|
||||
print "\tAccount: $acctname \tBalance: $baln\n";
|
||||
}
|
||||
|
||||
$fsecs = time;
|
||||
($user,$sys,$cuser,$csys) = times;
|
||||
|
||||
gnucash::gnc_book_end ($session);
|
||||
|
||||
($fuser,$fsys,$cuser,$csys) = times;
|
||||
$elapsed = time() - $secs;
|
||||
print "time to finish: user-cpu=$fuser sys-cpu=$fsys elapsed(rounded to sec)=$elapsed\n";
|
||||
$fuser -= $user;
|
||||
$fsys -= $sys;
|
||||
$elapsed = time() - $fsecs;
|
||||
print "delta time to finish: user-cpu=$fuser sys-cpu=$fsys elapsed(rounded to sec)=$elapsed\n";
|
||||
|
Loading…
Reference in New Issue
Block a user