aboutsummaryrefslogtreecommitdiff
path: root/src/im-sandbox.c
AgeCommit message (Collapse)Author
4 daysindexmajig: Free some stuff (in main process)HEADmasterThomas White
This slightly reduces spam in Valgrind output.
2024-07-15im-sandbox: fix bounds of snprintf statementsPhilipp Middendorf
I was noticing a segmentation fault appearing at the end of an indexamajig call. Debugging gave me: snprintf (__fmt=0x40d1fd "%s/mosflm.lp", __n=127, __s=0x471f90 "") delete_temporary_folder (n_proc=12, tmpdir=0x427c00 "./indexamajig.260408") at ../src/im-sandbox.c:1100 Which led me to these snprintf statements. Easily fixed, but a bit had to spot.
2024-04-29indexamajig: Send ASAP::O acknowledgement only after process_imageThomas White
Otherwise, we end up acknowledging the previous message ID after receiving something like kEndOfStream.
2024-04-29indexamajig: Report ASAP::O message ID for acknowledgementThomas White
Something strange is going on here, need to debug.
2024-04-24indexamajig: Add ASAP::O acknowledgementsThomas White
2023-12-22indexamajig: Add --no-data-timeoutThomas White
2023-09-23indexamajig: Re-use the image data arraysThomas White
We noticed that constant freeing and re-allocating the (potentially quite large) arrays resulted in much lower performance. Since we know that all images have the same data layout, we can safely re-use the arrays. This gives a large speedup.
2023-09-21indexamajig: Increase buffer size for Mille filenameThomas White
With the prefix, it can get quite long.
2023-09-20indexamajig: Add --mille-dirThomas White
2023-08-24Use built-in Mille writer instead of wrapping C++ versionThomas White
2023-07-28Move Mille stuff to separate fileThomas White
2023-07-28indexamajig: Hooks for MilleThomas White
2023-07-27Fix some more memory leaksThomas White
2023-07-26indexamajig: Fix a few small memory leaksThomas White
2023-06-01indexamajig: Add --asapo-output-stream (hits only)Thomas White
2023-06-01ASAP::O: Use message ID as serial numberThomas White
2023-05-02Avoid unused variable if compiled without HAVE_SCHED_SETAFFINITYThomas White
2023-05-02indexamajig: Add --cpu-pinThomas White
Similar code was stripped out 3.5 years ago by 4f4e5d05269eee6b192c271f2f9730a1ad3a4fbd. However, it seems there are still systems where it improves performance a lot.
2022-11-08indexamajig: Exit only once all workers received kEndOfStreamThomas White
Previously, the whole program would exit if any worker saw kEndOfStream. Unfortunately, this happens quite often, due to data starvation (too many workers for the data rate) or just general slowness. Therefore we need a more robust criterion.
2022-10-05indexamajig: Improve accuracy of speed reportsThomas White
2022-07-07indexamajig: Remove separate waitpid() calls when cleaning up last processesThomas White
2022-07-06indexamajig: Add timeout for ZMQ socketThomas White
2022-07-06indexamajig: Add profiling and last_task info for ZMQ fetchThomas White
2022-06-22indexamajig: Wrap ZMQ parameters into separate structureThomas White
2022-06-22indexamajig: Wrap ASAP::O parameters up inside separate structureThomas White
2022-06-17ASAP::O: Simplify by removing stream switching logicThomas White
2022-06-16ASAP::O: Exit quicker (and with explanation) if setup failsThomas White
2022-06-02ASAP::O: Add last_task for ASAPO fetchThomas White
2022-06-02Add worker ID to profiling dataThomas White
2022-06-02indexamajig: Add --asapo-streamThomas White
2022-06-02indexamajig: Track metadata (e.g. for ASAP::O)Thomas White
2022-06-02ASAP::O: Add profiling bitsThomas White
2022-06-02Generate placeholder filename/event earlierThomas White
Previously, a placeholder was put in the queue ("ZMQdata //" or "ASAPOdata //"), and replaced by image_read_data_block. Instead, the "final" placeholder can be put in the queue already. Note that ASAP::O, at least, will replace this placeholder with a filename delivered by the data transport.
2022-06-02ASAP::O: Pass filename throughThomas White
2022-06-02ASAP::O: Remove filesystem pathThomas White
This is only really needed for offline processing. It's an added complication for now. Maybe we'll revisit it later and re-expose this, though.
2022-06-02ASAP::O: Expose data sourceThomas White
2022-06-02ASAP::O: Simplify im_asapo_make_unique_group_idThomas White
2022-06-02ASAP::O: Don't send data to process_image if nothing cameThomas White
2022-06-02ASAP::O: Show the uniquely-generated group IDThomas White
2022-06-02indexamajig: Don't do ASAP::O stuff unless asked forThomas White
2022-06-02indexamajig: Exit if unique ASAP::O group ID can't be createdThomas White
2022-06-02indexamajig: Special cases for ASAP::O as for ZMQThomas White
2022-06-02ASAP::O: Remove vestigial blockThomas White
2022-06-02ASAP::O: Fix memory leak on error pathThomas White
2022-06-02ASAP::O: Tidy up build processThomas White
This removes a lot of random #ifdefs from the source code.
2022-06-02Fix build without ASAP::OThomas White
2022-06-02ASAP::O: Actually get the dataThomas White
2022-06-02ASAP::O: Group ID stuffThomas White
2022-06-02ASAP::O gutsThomas White
2022-05-04Write profile information in one call to write()Thomas White
Unfortunately, the complicated series of nested printf()s doesn't work well from multiple processes.