John Cupitt
cb96ed814e
redo im_cntlines() as a class
2014-01-17 11:18:05 +00:00
John Cupitt
bbd5cbfb44
add vips_thread_shutdown()
...
You now need to call vips_thread_shutdown() from all threads you create
yourself just before they exit. This gives vips a chance to free any
thread-private memory and to write out profiling data. libvips will
complain noisily if you fail to do this. You can harmlessly call
vips_thread_shutdown() more than once if you wish.
libvips will call vips_thread_shutdown for you automatically for the main
thread (the one that calls vips_shutdown()) and for threads it creates
directly itself.
2014-01-15 14:07:13 +00:00
John Cupitt
a181ef1f2c
stuff
2014-01-14 13:47:11 +00:00
John Cupitt
1090f48900
fix two tiny memleaks
2014-01-14 12:07:50 +00:00
John Cupitt
68a816f104
try again on the buffer cache assert
2014-01-09 16:56:44 +00:00
John Cupitt
72271dae6d
more compact trace output
2014-01-08 13:07:56 +00:00
John Cupitt
cc8e06db0b
fix a race in buffer.c
2014-01-07 21:31:00 +00:00
John Cupitt
451eff58b1
im_fwfft() is a class
2014-01-03 16:23:44 +00:00
John Cupitt
9c30242745
fix erroneous leak report from vipsprofile
2013-12-18 12:50:22 +00:00
John Cupitt
2c5ee332f0
make the buffer recycle list per image
...
so now recycle lists are short, scale with pipeline complexity, and
buffers are always appropriately sized for the image instead of being
slowly sized up to the max size for the pipeline
before:
$ vips sharpen k2.jpg x.jpg --radius 20
memory: high-water mark 38.99 MB
after:
$ vips sharpen k2.jpg x.jpg --radius 20
memory: high-water mark 29.46 MB
2013-12-18 09:54:26 +00:00
John Cupitt
0d79221853
memuse improvements
...
- conv is now SMALLTILE
- more instrumentation
- better buffer recycling
- quicker buf freeing
2013-12-17 15:21:21 +00:00
John Cupitt
a9fd318712
run over memuse for sharpen
2013-12-16 09:22:05 +00:00
John Cupitt
bfcd50acf2
works!
...
reusing work, though memuse seems high?
2013-12-13 16:51:01 +00:00
John Cupitt
82df44f9d6
clean up buffer recycle fix
2013-12-13 14:05:10 +00:00
John Cupitt
c782150a6d
fix sharing detection (again)
2013-12-13 12:20:05 +00:00
John Cupitt
c0b8b67987
better memuse graph
2013-12-09 15:14:54 +00:00
John Cupitt
b3d31ced79
vipsprofile graphs memory use
...
marks malloc/free as well
2013-12-09 13:45:41 +00:00
John Cupitt
466f25cf28
added memory logging to --vips-profile
...
though the analysis program doesn't understand yet
2013-12-09 10:04:24 +00:00
John Cupitt
6ae1888ab3
delay region resource unref to reduce malloc churn
...
we were unreffing windows and buffers attached to regions on
vips_region_region() etc.
when these regions were reinitialised later, fresh buffers were
allocated causing a lot of churn
2013-12-07 11:38:32 +00:00
John Cupitt
fd47e26164
oops seq mode wrong
2013-12-05 10:35:48 +00:00
John Cupitt
f387d13106
Merge remote-tracking branch 'origin/7.36'
2013-12-01 12:30:12 +00:00
John Cupitt
d7037618fc
use a define for PATH_MAX
...
add VIPS_PATH_MAX, a long-enough-for-almost-any-path buffer size
we ought to switch to dynamic paths really ... do this when we fix
filename encoding
2013-12-01 12:18:16 +00:00
John Cupitt
1da3064e7b
Merge remote-tracking branch 'origin/7.36'
2013-11-29 22:15:04 +00:00
John Cupitt
fdad999f47
fix dist and build
...
was broken on old glibs
2013-11-29 14:28:55 +00:00
John Cupitt
45c8be3db6
small polish
2013-11-29 09:40:54 +00:00
John Cupitt
53562905d4
remove use of PATH_MAX
...
helps gnu hurd, thanks Jay
2013-11-28 09:05:53 +00:00
John Cupitt
853124757b
small polishes
2013-11-27 17:31:07 +00:00
John Cupitt
eb3ad6d64f
add lots of instrumentation
...
also svg output
2013-11-26 14:57:56 +00:00
John Cupitt
3a195d4d5c
support main thread gates
2013-11-26 13:01:40 +00:00
John Cupitt
b746ab36d6
works!
2013-11-25 14:45:06 +00:00
John Cupitt
d49eed6d20
Merge remote-tracking branch 'origin/master' into gate
2013-11-25 08:55:41 +00:00
John Cupitt
5b7b3cb591
small fixes for clang static analyzer
...
a few small things clang static analyzer found
2013-11-22 14:34:13 +00:00
John Cupitt
54dcea8c3d
fix some clang warnings
2013-11-21 17:43:28 +00:00
John Cupitt
d366320cb1
cleanups, vipsprofile.py now works
2013-11-20 21:35:18 +00:00
John Cupitt
693ed09edd
add --vips-profile
...
only added a few gates so far, try a visualiser next
2013-11-18 18:31:49 +00:00
John Cupitt
0257dda270
first hack at supporting XYZ PCS
...
still need to fix new encode / decode
2013-11-12 14:58:59 +00:00
John Cupitt
6351bad027
Merge remote-tracking branch 'origin/7.36'
2013-11-09 16:03:24 +00:00
John Cupitt
63c1efc3b4
fix blocking of caching of seq load
...
we were setting nocache too late for the cache to see, move nocache
logic to _build()
2013-11-09 11:38:32 +00:00
John Cupitt
7dfab19bb0
Merge remote-tracking branch 'origin/rot45'
2013-10-29 10:14:34 +00:00
John Cupitt
ebae3f7ed3
use g_mkdir()
...
we had our own compat stuff, use the g_() one instead
2013-10-28 21:21:19 +00:00
John Cupitt
68c5f1909a
redo im_convsep() as a class
...
and im_convsep_f()
2013-10-25 14:37:43 +01:00
John Cupitt
e74a0b71d9
almost done compass
2013-10-24 14:46:08 +01:00
John Cupitt
5475cabbf2
redo im_dilate()/erode() as classes
...
just a thin wrapper over the vips7 operations for now
2013-10-23 13:15:31 +01:00
John Cupitt
12cf71a6a9
combin copy_fields and demand_hint
...
We had two API calls, vips_image_copy_fields() and vips_demand_hint().
They are now combined in the single vips_image_pipeline() call.
All operations are now slightly smaller and simpler.
2013-10-22 09:29:40 +01:00
John Cupitt
f7f061d265
vips_init() does ABI checking
...
just checks sizeof(VipsObject) for now
2013-10-20 16:46:55 +01:00
John Cupitt
67dff74b2c
rot45 works
2013-10-19 18:26:46 +01:00
John Cupitt
ae37c8eb6f
start rot45
2013-10-15 21:21:35 +01:00
John Cupitt
57b6622690
track local mem allocs for debugging
2013-10-02 21:20:41 +01:00
John Cupitt
45a9e417f4
start vips_conv()
2013-10-01 14:26:13 +01:00
John Cupitt
440b800e0e
add a new unbuffered seq mode
...
things like
vips copy huge.png x.v
now run with only a small line cache
2013-09-29 11:04:11 +01:00