Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.
* 1 Load the framework from Google Code * 3 Combine all your scripts and minify them * 5 Keep selection operations to a mini by caching * 6 Keep DOM manipulation to a min * 7 Wrap everything in a single element when inserting DOM * 8 Use IDs instead of classes wherever possible * 9 Give your selectors a context * 10 Use chaining properly * 11 use animate properly * 12 Learn about event delegation * 13 Use classes to store state * 14 or use jQuery's internal data() method to store state * 15 Write your own selectors * 16 Streamline your HTML and modify it once the page has loaded * 17 Lazy load content for speed and SEO benefits * 18 Use jQuery's utility functions * 19 Use noconflict to rename the jquery object when using other frameworks * 20 How to tell when images have loaded * 22 How to check if an element exists * 23 Add a JS class to your HTML attribute * 24 Return 'false' to prevent default behaviour * 25 Shorthand for the ready event
In many problems that require extensive searching, the solution can be described as satisfying two competing constraints, where satisfying each independently does not pose a challenge. As an alternative to tree-based and stochastic searching, for these problems we propose using an iterated map built from the projections to the two constraint sets. Algorithms of this kind have been the method of choice in a large variety of signal-processing applications; we show here that the scope of these algorithms is surprisingly broad, with applications as diverse as protein folding and Sudoku.Our survey of applications shows the difference map algorithm often achieves results comparable to much more sophisticated, special purpose algorithms. Efficient implementations of constraint projections usually are easier than designing the linear program solver at the heart of many optimization algorithms.
Whole-program optimization is a compilation technique in which optimizations operate over the entire program. This allows the compiler many optimization opportunities that are not available when analyzing modules separately (as with separate compilation). Most of MLton's optimizations are whole-program optimizations. Because MLton compiles the whole program at once, it can perform optimization across module boundaries. As a consequence, MLton often reduces or eliminates the run-time penalty that arises with separate compilation of SML features such as functors, modules, polymorphism, and higher-order functions. MLton takes advantage of having the entire program to perform transformations such as: defunctorization, monomorphisation, higher-order control-flow analysis, inlining, unboxing, argument flattening, redundant-argument removal, constant folding, and representation selection. Whole-program compilation is an integral part of the design of MLton and is not likely to change.
This paper presents an automatic fusion system, stream fusion, based on equational transformations, that fuses a wider range of functions than existing short-cut fusion systems. In particular, stream fusion is able to fuse zips, left folds and functions over nested lists, including list comprehensions. A distinguishing feature of the stream fusion framework is its simplicity: by transforming list functions to expose their structure, intermediate values are eliminated by general purpose compiler optimisations. We have reimplemented the entire Haskell standard list library on top of our framework, providing stream fusion for Haskell lists. By allowing a wider range of functions to fuse, we see an increase in the number of occurrences of fusion in typical Haskell programs. We present benchmarks documenting time and space improvements.
The Haskell String type is notoriously inefficient. We introduce a new data type, ByteString, based on lazy lists of byte arrays, combining the speed benefits of strict arrays with lazy evaluation. Equational transformations based on term rewriting are used to deforest intermediate ByteStrings automatically. We describe novel fusion combinators with improved expressivity and performance over previous functional array fusion strategies. A library for ByteStrings is implemented, providing a purely functional interface, and approaches the speed of low-level mutable arrays in C.
H. Burchell, O. Larose, und S. Marr. Proceedings of the 21st ACM SIGPLAN International Conference on Managed Programming Languages and Runtimes, ACM, (September 2024)
D. Peng, A. Wolff, und J. Haunert. Proc. 28th Int. Cartogr. Conf. (ICC'17) -- Advances
in Cartogr. & GIScience, Seite 389--404. Springer-Verlag, (2017)
S. Volke, S. Bin, D. Zeckzer, M. Middendorf, und G. Scheuermann. Recent Advances in the Theory and Application of Fitness Landscapes, Volume 6 von Emergence, Complexity and Computation, Springer Berlin Heidelberg, (2014)
S. Bin, S. Volke, G. Scheuermann, und M. Middendorf. Theory and Practice of Natural Computing, Volume 8890 von Lecture Notes in Computer Science, Springer International Publishing, (2014)
E. Pankratov. Mechatronics and Applications: An International Journal (MECHATROJ), 2 (1):
123-135(März 2024)cite arxiv:1108.2888Comment: A&A letters, in press.
D. Schlör, J. Pfister, und A. Hotho. 2023 the 7th International Conference on Medical and Health Informatics (ICMHI), Seite 136–141. New York, NY, USA, Association for Computing Machinery, (2023)